网上有很多关于使用win10-ssh客户端登录linux-ssh服务端的介绍,但很少介绍多台win10-ssh服务端之间互访的。以下记录如何免密登录win10-ssh服务。
1、安装OpenSSH。
网上有很多介绍通过添加win10可选功能安装openssh,此处不赘述。如果通过添加可选功能出现安装失败,可以下载openssh自行安装。
下载地址:PowerShell/Win32-OpenSSH 。
注意:最好不要安装在C:\Users\your_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:\Users\your_userName\.ssh,找到公钥文件id_rsa.pub。
复制公钥文件内容,到服务端C:\Users\your_userName\.ssh下创建文件authorized_keys(没有文件后缀),粘贴公钥,保存退出。
服务端切换到C:\ProgramData\ssh\下(首次启动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都需要包含其他主机公钥,即包含多条公钥记录。
转自:https://zhuanlan.zhihu.com/p/111812831
标签:sshd,免密,登录,公钥,SSH,WIN10,安装,your,ssh From: https://www.cnblogs.com/niewd/p/18003445