[Tips] Linux ssh 基於金鑰檔案免密登陸
阿新 • • 發佈:2022-05-16
- 服務端生成金鑰檔案
ssh-keygen -m PEM -t rsa -b 2048 -v -f mbp16_lgy -C "$(whoami)@$(hostname)-$(date -I)"
命令說明:
-m : key_format, 金鑰的格式
-t:加密演算法,有dsa ecdsa ed25519 rsa rsa1
-b:bits,加密位數
-v:列印詳細輸出
-f: 輸出檔案
-C:新增金鑰對的說明comment。
- 重新命名私鑰
mv mbp16_lgy mbp16_lgy.pem
- 將公鑰內容寫入authorized_keys
cat ~/mbp16_lgy.pub >> ~/.ssh/authorized_keys
公鑰可以刪除了。
- 編輯/etc/ssh/sshd_config
確保裡面:
RSAAuthentication yes
PubkeyAuthentication yes
#下面這個如果是不註釋的,那麼檔案要與公鑰寫入的檔案一致
#AuthorizedKeysFile %h/.ssh/authorized_keys
如有修改,需要重啟ssh服務:
sudo service sshd restart
- 將pem私鑰下載到本地
在客戶端機器上
scp -P 埠號 使用者名稱@服務HOST:~/mbp16_lgy.pem ~/.ssh
chmod 700 ~/.ssh/mbp16_lgy.pem
- 編輯.ssh/config
新增
Host alias別名
HostName HOST域名或IP
User 使用者名稱
Port 埠
IdentityFile ~/.ssh/mbp16_lgy.pem