- 根据 上一篇文章 已经将公钥远程上传了,现在需要删掉,这样才能更好的测试远程拷贝。
// 登录手机 dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh root@10.0.89.184 // 进入 ~/.ssh 文件夹 iPhone:~ root# cd ~/.ssh iPhone:~/.ssh root# ls -l total 4 -rw------- 1 root wheel 403 Dec 8 17:49 authorized_keys // 移除之前上传的 authorized_keys 授权文件 iPhone:~/.ssh root# rm authorized_keys // 然后退出连接 iPhone:~/.ssh root# exit logout Connection to 10.0.89.184 closed.
- 在客户端找到之前生成公私钥文件夹
$ cd ~/.ssh
dengzemiaodeMacBook-Pro:~ dengzemiao$ cd ~/.ssh dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ls -l total 24 -rw------- 1 dengzemiao staff 1679 12 4 2018 id_rsa -rw-r--r-- 1 dengzemiao staff 403 12 4 2018 id_rsa.pub -rw-r--r-- 1 dengzemiao staff 2190 12 7 11:31 known_hosts dengzemiaodeMacBook-Pro:.ssh dengzemiao$
- 然后通过
scp 客户端文件地址 root@服务器IP地址:服务端存储文件地址
命令进行远程拷贝
$ scp ~/.ssh/id_rsa.pub root@10.0.89.184:~/.ssh
- 上面命令的意思是: 将客户端
~/.ssh/id_rsa.pub
公钥文件 拷贝到root@10.0.89.184
服务端的~/.ssh
下。
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ scp ~/.ssh/id_rsa.pub root@10.0.89.184:~/.ssh // 这里需要输入密码,是因为我们上面第一步就将之前的授权文件删除了,所以现在是没有免密登录的了 root@10.0.89.184's password: id_rsa.pub 100% 403 10.1KB/s 00:00 dengzemiaodeMacBook-Pro:.ssh dengzemiao$
- 拷贝成功之后,可以登录服务端去查看
~/.ssh
这个文件夹是否有id_rsa.pub
文件。
// 登录服务端 dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ssh root@10.0.89.184 // 输入密码 root@10.0.89.184's password: // 进入 ~/.ssh 文件夹 iPhone:~ root# cd ~/.ssh // 查看文件夹内部文件 iPhone:~/.ssh root# ls -l total 4 -rw-r--r-- 1 root wheel 403 Dec 9 11:40 id_rsa.pub
- 既然文件已经远程拷贝过来了,那么我们还是需要将这个公钥信息追加到
authorized_keys
文件尾部。
$ cat id_rsa.pub >> authorized_keys
- 上面这个命令就是将
id_rsa.pub
文件内容追加到authorized_keys
文件尾部,如果authorized_keys
文件不存在会先创建它在追加。
追加完成之后在删除远程拷贝过来的id_rsa.pub
文件。
$ rm id_rsa.pub
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ssh root@10.0.89.184 iPhone:~ root#
- 这样也可以达到免密登录,将公钥传递到服务端,达到的效果跟上篇文章基本一致,但是
重点
是知道怎么远程传递拷贝文件到服务端
。 - 但是有时候当这么配置之后,每次登陆还是需要输入密码,这是为什么?这应该是服务端文件的权限问题,我们需要将
~/.ssh/authorized_keys
文件以及文件夹赋予访问权限。
$ chmod 755 ~ $ chmod 755 ~/.ssh $ chmod 644 ~/.ssh/authorized_keys
- 上面的命令就是将
指定文件夹或者文件
赋予755 、644
等权限命令,这些数字都代表一个权限范围,这个可以自行百度查一下chmod
命令,后续的文章也会写到这方面的东西。注意
:现在的拷贝传递方式都是基于Wifi
网络传递,下一章会说到通过USB
连接并传递文件,网络传递肯定没有USB
连接传递的速度快嘛。