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

 

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:18 天前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐