Windows使用xshell ssh免密连接Linux虚拟机

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

原文地址:https://www.cnblogs.com/davis12/p/14422512.html