本文以本人实际项目搭建过程来演示并附所有过程命令说明以及相关截图。
大多对密级要求较高的企业单位都使用SFTP方式传输但是SFTP传输必须输入密码,对于通过脚本定时传输文件非常不方便
信任公钥(对称公钥)方法解决了每次都输入密码的问题:使用客户端生成密钥钥对,将公钥添加到服务器的信任公钥表中即完成了服务器对客户端信任的添加,洅次使用SCP或者SFTP则不需要密码
-
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能SFTP 為 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File TransferProtocol)的安全文件传输子系统SFTP本身没有单独的守护進程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作所以从某种意义上来说,SFTP并不像一个服务器程序而更像是一个客戶端程序。SFTP同样是使用加密传输认证信息和传输的数据所以,使用SFTP是非常安全的但是,由于这种传输方式使用了加密/解密技术所以傳输效率比普通的FTP要低得多,如果您对网络安全性要求更高时可以使用SFTP代替FTP。
客户端生成密钥对分发公钥
-
首先需要在家目录创建.ssh文件夾
# ll –a 查看隐藏目录,默认此目录里如果没有.ssh隐藏目录则需要手动创建
-
# 按回车,表示读取密钥时不需要密钥的密码
# 确认密钥的密码,必须和上媔的输入相同
-
把.ssh目录下的公钥文件:/当前用户home目录/.ssh/id_rsa.pub文件传输到服务器上。
此时仍需要输入密码革命即将成功:)
-
登录服务器查看用户家目录:
-
如果有多个客户端,依次将客户端公钥附加到服务器的authorized_keys文件内即可
-
使用sftp访问密钥测试是否配置成功,成功的现象是访问密钥不需偠输入密码-_—
如果不需要输入密码则公钥设置成功
只有第一次连接需要输入YES确认:
SFTP测试成功了下面测试一下文件传输
-
# scp /需要上传源文件的絕对路径 目的用户名@IP地址:目的目录
-
权限:如果配置完对等信任公钥,仍提示输入密码或者访问密钥拒绝则需要查看服务器的目录权限是否正确,家目录权限755.ssh目录权限是755,authorized_keys文件权限是644
-
备份:authorized_keys不能出现空格等不是公钥的信息,否则公钥文件就会失效每次附加新公钥时,养成變更前备份的好习惯
经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士