使用 ssh-keygen 生成密鑰 參考資料 https://learn.microsoft.com/zh-cn/azure/virtual-machines/linux/create-ssh-keys-detailed 快速開始 以下 ssh-keygen 命令預設在 ~/.ssh 目錄中生成 ...
使用 ssh-keygen 生成密鑰
參考資料
https://learn.microsoft.com/zh-cn/azure/virtual-machines/linux/create-ssh-keys-detailed
快速開始
以下 ssh-keygen
命令預設在 ~/.ssh
目錄中生成 4096 位 SSH RSA 公鑰和私鑰文件。 如果當前位置存在 SSH 密鑰對,這些文件將被覆蓋。
# 生成私鑰和公鑰
ssh-keygen -m PEM -t rsa -b 4096
# 詳細生成私鑰和公鑰
ssh-keygen -m PEM -t rsa -b 4096 -C "azureuser@myserver" -f ~/.ssh/mykeys/myprivatekey -N mypassphrase
# 用私鑰生成公鑰
ssh-keygen -y -f /path/to/id_rsa > /path/to/new_id_rsa.pub
命令解釋
ssh-keygen
= 用於創建密鑰的程式
-m PEM
= 將密鑰的格式設為 PEM
-t rsa
= 要創建的密鑰類型,本例中為 RSA 格式
-b 4096
= 密鑰的位數,本例中為 4096
-C "azureuser@myserver"
= 追加到公鑰文件末尾以便於識別的註釋。 通常以電子郵件地址用作註釋,但也可以使用任何最適合你基礎結構的事物。
-f ~/.ssh/mykeys/myprivatekey
= 私鑰文件的文件名(如果選擇不使用預設名稱)。 追加了 .pub
的相應公鑰文件在相同目錄中生成。 該目錄必須存在。
-N mypassphrase
= 用於訪問私鑰文件的其他密碼。
-y
私鑰生成公鑰
-f
指定私鑰路徑
用法
伺服器配置
私鑰用於連接,公鑰內容寫入放在被連接主機的~/.ssh/authorized_keys
文件中,同時確保~/.ssh
目錄許可權是700
,~/.ssh/authorized_keys
文件許可權是600
。
配置/etc/ssh/sshd_config
以下內容已啟用
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
客戶端連接
ssh -i /path/to/private_key_file username@hostname
-i
指定私鑰文件路徑
/path/to/private_key_file
:您要使用的私鑰文件的路徑。
username
:遠程伺服器上的用戶名。
hostname
:遠程伺服器的主機名或IP地址。