在Ubuntu系統中生成SSH密鑰的步驟如下:
打開終端(Terminal)。
輸入以下命令來生成一個新的SSH密鑰對。將your_email@example.com替換為你自己的電子郵件地址,這個地址將用于識別你的密鑰。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
這里:
-t rsa 指定使用RSA算法。-b 4096 指定密鑰長度為4096位。-C "your_email@example.com" 添加一個注釋,通常是你的電子郵件地址。當提示你“Enter a file in which to save the key”時,按Enter鍵接受默認文件位置(通常是/home/your_username/.ssh/id_rsa)。
接下來,系統會提示你輸入一個安全的密碼短語(passphrase)。你可以選擇輸入一個密碼短語來增加密鑰的安全性,也可以直接按Enter鍵留空。
密鑰生成后,你可以使用以下命令來查看公鑰內容:
cat ~/.ssh/id_rsa.pub
如果你在生成密鑰時設置了密碼短語,可能需要輸入它才能查看公鑰。
將生成的公鑰添加到遠程服務器的SSH密鑰認證中。首先,你需要復制公鑰內容??梢允褂靡韵旅睿?/p>
pbcopy < ~/.ssh/id_rsa.pub
然后,登錄到你的遠程服務器,并編輯或創建~/.ssh/authorized_keys文件:
ssh your_username@remote_host
mkdir -p ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
在authorized_keys文件中粘貼你的公鑰內容,然后保存并退出編輯器。
確保遠程服務器上的SSH配置允許密鑰認證。編輯遠程服務器上的/etc/ssh/sshd_config文件:
ssh your_username@remote_host
sudo vi /etc/ssh/sshd_config
確保以下行沒有被注釋掉(即沒有以#開頭):
PubkeyAuthentication yes
如果進行了更改,請重啟SSH服務:
sudo service ssh restart
現在,你應該能夠使用SSH密鑰對來登錄到遠程服務器了。嘗試使用以下命令登錄:
ssh your_username@remote_host
如果一切設置正確,你將無需輸入密碼即可登錄。