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