多台WIN10之间的SSH免密登录
网上有很多关于使用win10-ssh客户端登录linux-ssh服务端的介绍,但很少介绍多台win10-ssh服务端之间互访的。以下记录如何免密登录win10-ssh服务。
1、安装OpenSSH。
网上有很多介绍通过添加win10可选功能安装openssh,此处不赘述。如果通过添加可选功能出现安装失败,可以下载openssh自行安装。
下载地址: 。
注意:最好不要安装在C:Usersyour_userName 下面,不然会出现一些问题,建议直接解压到到C盘下C:OpenSSH,并将该路径添加至环境变量Path。
开始安装:
以管理员身份打开powershell,切换至C:OpenSSH(如果有添加环境变量则随意位置)。
set-executionpolicy remotesigned cd C:OpenSSH 以下安装命令需要在执行第一条命令后才能执行,不然会报错 .install-sshd.ps1
安装完毕。
2、开启ssh服务
Start-Service sshd
也可以使用net start sshd 启动,其他相关命令如下:
查看状态:Get-Service sshd 关闭服务:Stop-Service sshd 重启服务:Restart-Service sshd
确保防火墙关闭或防火墙有放开22端口。
从其他主机(客户端) ssh your_userName@your_IP_Adress 测试是否正常连接,默认需要输入密码登录。
3、开启免密登录
先在本地(客户端)生成公钥,当然,本地也是需要安装openssh。
ssh-keygen -t rsa
切换到路径:C:Usersyour_userName.ssh,找到公钥文件id_rsa.pub。
复制公钥文件内容,到服务端C:Usersyour_userName.ssh下创建文件authorized_keys(没有文件后缀),粘贴公钥,保存退出。
服务端切换到C:ProgramDatassh下(首次启动sshd后会生成该文件夹),打开sshd_config文件,
修改文件(以下是重点):
确保以下3条没有被注释 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no 确保以下2条有注释掉 #Match Group administrators # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
其余不做修改,基本都是已注释不启用。
重启服务:Restart-Service sshd
4、测试登录
回到客户端 ssh your_userName@your_IP_Adress,此时无需密码直接登录说明正常(首次登陆可能会提示是否加入known_hosts,yes即可)。如果是多台win10主机互相免密,操作同上,不过需要每台主机的authorized_keys都需要包含其他主机公钥,即包含多条公钥记录。