linux SCP免密传输文件

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



猜你喜欢

转载自blog.csdn.net/try2find/article/details/80722500