Featured image of post Windows配置免密登錄Ubuntu不生效的問題

Windows配置免密登錄Ubuntu不生效的問題

本文介紹並解決Windows配置免密登錄Ubuntu不生效的問題

警告:本文由機器翻譯生成,可能導致質量不佳或信息有誤,請謹慎閱讀!

Windows配置免密登錄Ubuntu不生效的問題

起因

在配置我的個人博客期間,打算使用Github Action進行自動部署,其中需要使用SSH密鑰的方式來進行免密登錄。

參考鏈接

  1. 如何在Ubuntu 20.04配置SSH密鑰免密碼登錄

  2. 解決SSH免密登錄配置成功後不生效問題

配置

博主使用的是win10,Ubuntu20.04;

配置密鑰的流程很簡單,首先使用生成密鑰對

1
ssh-keygen -t rsa -q -C "For SSH" -f rsa_id

然後使用ssh-copy-id remote_username@server_ip_address 將公鑰部署到遠程服務器上,但是Windows一般沒有ssh-copy-id命令,所以可以使用下面命令替代。

1
cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

之後,重啟ssh服務,使用ssh remote_username@server_ip_address 連接發現仍然需要密碼,查閱資料過後,鏈接2是在Linux平台上的,不適用Windows。百思不得其解。

解決方法

發現服務中的OpenSSH Authentication Agent這一項沒有啟動,其描述已經很清楚,就是用來做公私鑰驗證的,把服務開啟後,再次嘗試仍然無法直接連接。

image-20230413152155447

最後,在你的.ssh目錄下添加config文件

1
2
3
4
5
Host yourhost
     Hostname yourhost
     Port 22
     User youruser
     IdentityFile ~/.ssh/your_key

保存後重新連接,完美解決! image-20230413152155447