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 sshd 重启服务:Restart-Service sshd