说明:
WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时putty也是一个开源连接ssh的windows客户端,本文介绍putty+WinSCP+密钥对登录linux服务器。
1. 创建密钥对
安装openssl
yum –y install openssl
#openssl一般服务器都会预装
创建密钥对
ssh-keygen
#然后默认一路确认即可
默认生成的是RSA 2048加密,如果需要更改可以使用-t –b
指明加密算法与密钥长度;默认私钥与公钥都保持在家目录下的.ssh/目录下
2.密钥对处理
首先将私钥.id_rsa导出到本地
然后将公钥id_rsa.pub文件导入到authorized_keys
cat id_rsa.pub >> authorized_keys
3. 使用PuTTYgen生成.ppk文件
打开WinSCP工具,顺序点击“新建会话”—“新建站点”—“高级”—“验证”—“工具”—“使用PuTTYgen生成新的密钥对”
待弹出新的窗口后点击“load”—选择“all files(.)”—选择导出的id_rsa私钥—然后点击“打开“
此时新的密钥对已经生成,然后将公钥保存即可,WinSCP登录需要的.ppk文件就完成了。
4 .WinSCP登录
在新建站点中输入主机ip,端口,用户名,然后点击“高级“—”验证“—选择刚才生成的新的.ppk公钥,然后点击”确定“—”登录“就可以了
5.注意
①在/etc/ssh/sshd_conf中可以通过设置以下两项来禁用root登录及密码登录,建议在上述操作后测试密钥对登录正常后再改变其配置
PermitRootLogin yes
PasswordAuthentication yes
②密钥对登录异常,确认/etc/ssh/sshd_conf中以下两项是否是yes
RSAAuthentication yes
PubkeyAuthentication yes
③在通过linxu之间通过密钥对登录一定要注意私钥文件的权限是否是600,拷贝方式不同,可能会导致权限更改。