在WindowsServer之间配置SSH免密登录Window 也跟上了Linux 步伐,开启了 openssh, ⽽且还带 scp 远程拷贝命令
1. 在客户端⽣成key 密钥对
ssh-keygen -t ed25519
2. 把公钥传递给服务器,这⾥最初还是需要⽤密码来连接
ssh AppRunner@192.168.199.190 mkdir C:\Users\AppRunner\.ssh\
scp C:\Users\Jenkins\.ssh\id_ed25519.pub AppRunner@192.168.199.190:C:\Users\AppRunner\.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
相关命令:
查看状态:Get-Service sshd
关闭服务:Stop-Service sshdssh工具windows
重启服务:Restart-Service sshd