1 带密码的scp传输
从client端传输文件到server端。
client端发送文件到指定ip的目录下:
输入密码后,查看server端是否接收到文件:
2 在client端生成**对
/usr/local/app/.ssh路径即为: ~/.ssh
3 在client端将生成的公钥拷贝到server端的~/.ssh目录下
如果~/.ssh目录不存在,则创建该目录
拷贝前只有两个文件:
拷贝文件:
拷贝后server下的文件:
最好是把id_rsa.pub拷贝到server中的目录下,再追加到authorized_keys文件中,如果只拷贝id_rsa.pub里面的内容,可能会出现拷贝多了字符或少了字符的错误,导致无法无密传输。
如果该文件夹下无authorized_keys,则创建该文件,并将刚刚传过来的id_rsa.pub添加到该文件的后面
4 检验无密传输
client无密发送文件:
server端接收到的文件:
5 scp与ssh的关系
SCP是Secure Copy的简称,是用来与远程主机之间进行数据传输的协议,相当于经过加密的Copy命令。SCP数据传输使用 ssh协议,并且和ssh 使用相同的认证方式,提供相同的安全保证 。 根据实际需要,scp进行验证时会要求你输入密码或口令。
不管SCP还是SFTP,都是SSH的功能之一,也都是使用SSH协议来传输文件的。
6 ssh无密登录原理分析
至此我们可以知道,$HOME目录即为/usr/local/app,并且很多系统未指定解压路径时,由crontab解压的文件会放到$HOME目录下面。
尝试ssh登录:
可以看出重127.0.0.1的机器登录到了25机器上。
登录时,我们没有使用用户名,原因如下:
7 参考文章:
(1) scp 免密文章
https://www.jianshu.com/p/b96ca7e5a8f6
https://blog.csdn.net/xyang81/article/details/51477925
https://cloud.tencent.com/developer/article/1042350
(2) ssh原理文章
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html