1.生成windows密钥对
1.1 在windows中的CMD命令窗口或者PowerShell中输入命令:
PS C:Usersermao> ssh-keygen -t rsa
# 或者git bash
1.2 根据提示一路按回车下去即可,如果有其他需要也可以根据提示输入自定义文件名以及密码
1.3 生成本机的密钥与公钥文件,默认存放在本用户目录下的.ssh/下面
2.上传公钥
2.1 采用用户名/密码方式连接Linux服务器,通过ftp将公钥(id_rsa.pub)上传到服务器,私钥(id_rsa)存放在本地用于与服务器进行验证。
将公钥上传至任一目录:
公钥文件
2.2 查看登录用户root的用户目录下是否存在ssh文件夹以及authoriaed_keys文件,如果不存在,则创建
mkdir ~/.ssh
cd .ssh/
touch authorized_keys
2.3 将id_rsa.pub的内容追加到authorized_keys文件中
cat id_rsa.pub >> ~/.ssh/authorized_keys
2.4 为公钥文件设置权限
此步骤必不可少,如果没有执行此步骤,哪怕后面ssh服务配置好了,也不可用
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
3.配置linux的ssh服务
3.1 编辑sshd配置文件
vim /etc/ssh/sshd_config
在文件第42行附近,根据图示配置ssh服务,支持公钥登录,保存配置文件esc :wq
3.2 重启sshd服务
systemctl restart sshd ; --CentOS 7 / RedHat 7以上
service sshd restart; --CentOS6 / RedHat 6 ubuntu类似
到此步,基本配置已经完成,下方根据xshell配置免密连接
4.添加公钥到xshell
4.1 打开Xshell,选择文件->属性,用户身份验证中,方法选择Public Key
4.2 选择 浏览->导入私钥
4.3 选择密钥对所在路径,导入私钥id_rsa,无.pub后缀
4.4 导入完成后,点击确定即可,如果第一步生成的密钥对存在密码,则需要输入密码
5.连接服务器
在xshell中输入ssh连接命令,即可免密登录。
转载:https://blog.csdn.net/weixin_39684284/article/details/97022275