溫馨提示×

Ubuntu SSH無密碼登錄怎么實現

小樊
35
2025-05-13 16:52:48
欄目: 智能運維

在Ubuntu系統中實現SSH無密碼登錄,可以通過生成SSH密鑰對并將其添加到遠程服務器的授權密鑰列表中來實現。以下是詳細步驟:

1. 生成SSH密鑰對

首先,在本地機器上生成SSH密鑰對。打開終端并運行以下命令:

ssh-keygen -t rsa -b 4096
  • -t rsa 指定使用RSA算法。
  • -b 4096 指定密鑰長度為4096位。

運行上述命令后,系統會提示你輸入密鑰保存的位置和文件名。默認情況下,密鑰會保存在 ~/.ssh/id_rsa(私鑰)和 ~/.ssh/id_rsa.pub(公鑰)。

你可以直接按回車鍵接受默認位置和文件名,或者輸入自定義路徑和文件名。

2. 將公鑰復制到遠程服務器

接下來,將生成的公鑰復制到遠程服務器的 ~/.ssh/authorized_keys 文件中。你可以使用 ssh-copy-id 命令來完成這一操作:

ssh-copy-id user@remote_host
  • user 是遠程服務器上的用戶名。
  • remote_host 是遠程服務器的IP地址或域名。

運行上述命令后,系統會提示你輸入遠程服務器用戶的密碼。輸入密碼后,公鑰會被復制到遠程服務器的 ~/.ssh/authorized_keys 文件中。

3. 測試無密碼登錄

完成上述步驟后,你可以嘗試通過SSH連接到遠程服務器,看看是否可以無密碼登錄:

ssh user@remote_host

如果一切配置正確,你應該能夠直接登錄到遠程服務器,而不需要輸入密碼。

4. 配置SSH客戶端(可選)

如果你希望進一步簡化SSH連接過程,可以在本地機器的 ~/.ssh/config 文件中添加配置。打開或創建該文件并添加以下內容:

Host remote_host
    HostName remote_host_ip_or_domain
    User user
    IdentityFile ~/.ssh/id_rsa
  • remote_host 是你在 ~/.ssh/config 文件中為遠程服務器定義的別名。
  • remote_host_ip_or_domain 是遠程服務器的IP地址或域名。
  • user 是遠程服務器上的用戶名。
  • IdentityFile 是你的私鑰文件路徑(如果與默認位置不同)。

保存文件后,你可以直接使用別名連接到遠程服務器:

ssh remote_host

通過以上步驟,你應該能夠在Ubuntu系統中實現SSH無密碼登錄。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女