博客 / 詳情

返回

阿里雲Linux服務器SSH啓用密鑰對連接

前言

當SSH啓用密鑰對之後就會禁止密碼連接,這種情況下安全性會大大加強。
而像阿里雲這種雲服務供應商則把這個流程變得非常簡單。
在買服務器的時候就可以自動配置,我們要做的就是知道怎麼連接它。

創建實例的注意事項

在ECS購買頁面,選擇Linux或Freebsd之後,下面就可以選擇密鑰對連接:

image.png

此時如果沒有密鑰對就創建一個:

image.png

點擊確認後,會下載私鑰文件,並且密鑰對列表多了一條數據:
image.png
image.png

這裏需要注意:私鑰只能下載一次,請妥善保存,不能泄露也不能遺失。

回到購買頁面就有密鑰對可選了:

image.png

創建完成後,這台ECS就只允許私鑰連接了,如果用密碼是連不上的。

連接

通過阿里雲自帶的Workbench

在阿里雲的ECS管理窗口點擊遠程連接選擇第一個即可:
image.png

首次連接時,上傳剛剛下載的私鑰,即可連接成功:
image.png

通過終端的SSH

大多數情況下,我們會嫌麻煩,不想先登阿里雲,然後上傳私鑰...(懶催生了效率)
對於直接用終端的情況,用私鑰和用公鑰不太一樣,公鑰是直接把文件扔在~/.ssh,然後像往常那樣直接連就可以了。在Github/Gitlab拉代碼的時候就用到了類似功能:
https://segmentfault.com/a/1190000041713720

而阿里雲這個.pem格式的文件,官方文檔上給出了用法:

image.png

ssh -i ~/ecs.pem ecs-user@10.10.xx.xxx

命令很簡單,但連接時可能會出現WARNING: UNPROTECTED PRIVATE KEY FILE!

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0666 for '/home/testuser/ssh.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/testuser/ssh.pem": bad permissions
user@123.123.123.123: Permission denied (publickey).

翻譯一下就是:出於安全考慮,你的私鑰有多餘的權限
(Linux權限分為讀、寫、執行,並且對於自己、同組的人、其他人可以分別設置權限)
出現上述提示時,説明除了自己以外,同組人和其他人也對這個文件有權限,這樣可能導致私鑰泄露
所以,要把密鑰的權限改為400(僅自己有讀權限)

chmod 400 ~/ssh.pem

然後就成功了。

第三方客户端

Linux有個開源的遠程客户端Remmina,支持RDP、SSH、SPICE、VNC、X2Go、HTTP/HTTPS。

安裝也比較簡單,以Ubuntu為例:

sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt update
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret

然後新建一個連接:

  • 類型選SSH
  • 輸入IP:端口
  • 輸入用户名,不填密碼
  • 認證類型選私鑰
  • 勾選下面的私鑰
  • 其他不填

image.png

保存即可,以後就可以雙擊連接了。不用輸密碼也不用上傳密鑰。

總結

懶催生效率。

本文只發布segmentfault,禁止轉載,如在其他平台看到請舉報。

user avatar zzd41 頭像 peter-wilson 頭像 buxia97 頭像 ailim 頭像 huanjinliu 頭像 user_ze46ouik 頭像 huaihuaidedianti 頭像 tufeiyuan_5d9f0a380c30e 頭像 tempest_619c7f9d4e321 頭像 shengmingbuxi_5c1152527848f 頭像 qingji_58b3c385d0028 頭像 xiaojt 頭像
13 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.