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