0


SSH配置公钥私钥免密登录——windows to linux

SSH配置公钥私钥免密登录——windows to linux

SSH的安全机制

SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。
第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。
第二种级别(基于密钥的安全验证):你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。

一、修改远程主机ssh设置

在windows客户端以root用户名密码登录远程linux云主机:

vim /etc/ssh/sshd_config

RSAAuthentication yes#启用RSA认证
PubkeyAuthentication yes#启用公钥认证
AuthorizedKeysFile .ssh/authorized_keys #公钥认证文件

按esc键,:wq保存后,输入

service ssh restart

重启ssh服务。
在这里插入图片描述
linux默认允许密码登录,即PasswordAuthentication yes

二、在windows客户端生成公钥私钥文件

ssh-keygen -t rsa

在这里插入图片描述

一路回车之后在$HOME/.ssh/下就可以看到两个文件id_rsa为私钥,id_rsa.pub为公钥
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、将客户端公钥追加到远程主机 .ssh/authorized_keys中

首先将公钥文件id_rsa.pub上传至远程linux主机。

cat .ssh/id_rsa.pub |ssh [email protected] -p xxxxx 'cat >> .ssh/authorized_keys'

在这里插入图片描述
为谨慎起见,可先不关闭密码登录,要关闭密码登录即设置PasswordAuthentication no,修改后重启ssh服务。
使用远程工具MobaXterm测试:
在这里插入图片描述
在这里插入图片描述
选择私钥文件id_rsa,点击确定。
在用户会话中双击要登录的IP,成功登录:
在这里插入图片描述
使用xshell测试:
在这里插入图片描述

在这里插入图片描述登录成功。
如果配置完成还是无法免密登录,检查权限,属组是否正确
.ssh目录的权限必须是700
.ssh/authorized_keys文件权限必须是600

也可在ssh-keygen -t rsa时设置密码,需要先设置linux默认允许密码登录,即PasswordAuthentication yes,调试成功后再关闭即可:
在这里插入图片描述
使用MobaXterm测试发现加载文件后可以登录,与之前无差别。
使用xshell时,点击用户密钥:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需输入正确的密码(ssh-keygen -t rsa时设置的密码)才能导入。

而当点击文件,再点击确定时显示无法加载用户密钥:
在这里插入图片描述
输入密码后正常。
还是ssh-keygen -t rsa时不设置密码方便!

参考链接

1.SSH登录流程及配置公钥登录
2.RSA密钥使用指南

标签: ssh 运维

本文转载自: https://blog.csdn.net/qq_17841153/article/details/137040257
版权归原作者 我们好像在哪见过 t 所有, 如有侵权,请联系我们删除。

“SSH配置公钥私钥免密登录——windows to linux”的评论:

还没有评论