首发于Code Tools

使用SSH从服务器下载或上传文件

由于本人经常需要从Ubuntu和Mac两台不同的电脑上进行数据传输,博主又老是记不住命令行指令,于是《搬运博客》以方便查阅(哎,就是玩儿~)

利用scp可以快速传输文件,实现从远程服务器下载文件或上传文件到服务器上,本地使用unix(linux/mac)命令行完成操作。

1. 直接登录远程服务器

ssh <用户名>@<ssh服务器地址>

此时会要求用户输入服务器端用户的密码,成功输入密码后会连接到服务器。

但是之后每次上传和下载操作后都会需要用户输入密码,为了实现免密登录,可以按如下进行操作。

  • 客户端生成公私钥(一路回车默认即可)
ssh-keygen
ls ~/.ssh

在~/.ssh目录下会生成 id_rsa(私钥)和 id_rsa.pub(公钥)。

  • 上传公钥到服务器

这里测试用的服务器地址为:192.168.235.22

用户为:root

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.235.22

上面这条命令是写到服务器上的ssh目录下的authorized_keys文件中去。

在服务器上运行下列命令可以看到刚才写入的公钥内容。

cat ~/.ssh/authorized_keys
  • 测试免密登录

客户端通过ssh连接远程服务器,就可以免密登录了。

ssh root@192.168.235.22

2. 使用SSH从服务器下载或上传文件

  • 从远程服务器下载文件到本地
scp <用户名>@<ssh服务器地址>:<文件> <本地文件路径>
scp root@127.20.36.88:~/test.txt ~/Desktop

root@127.20.36.88是服务器地址,冒号后面是服务器上具体的文件,后面就是本地文件路径。

  • 从远程服务器下载文件夹到本地
scp -r <用户名>@<ssh服务器地址>:<文件夹名> <本地路径>
scp -r root@127.20.36.88:~/test ~/Desktop

将test文件夹直接下载到了本地桌面

  • 从本地上传文件到服务器上
scp <本地文件名> <用户名>@<ssh服务器地址>:<上传保存路径> 
  • 从本地上传文件夹到服务器上
scp  -r <本地文件夹名> <用户名>@<ssh服务器地址>:<上传保存路径> 

3. 搬运博客

  1. SSH 三步解决免密登录_jeikerxiao-CSDN博客_ssh 免密登录
  2. 使用SSH从服务器下载或上传文件_The blog of XMAN-CSDN博客_ssh下载文件到本地
编辑于 2021-05-07 21:35