設定SSH別名免密登入伺服器
阿新 • • 發佈:2022-05-10
最原始的SSH登入伺服器的方式如下:
$ ssh username@ip
username@ip's password: $ *******
Login successfully.
SSH金鑰登入安全性非常高。
別名登入將每個伺服器的登入資訊記錄在配置檔案config中,使得只需要輸入別名即可登入。
為簡化登入流程,採取別名+免密配置,在本地主機上生成了私鑰與公鑰後,再將公鑰複製到多個伺服器中,每個伺服器將公鑰加入授權金鑰,則可實現免密登入多個伺服器。
一、設定別名
為了偷懶[狗頭]
用一個別名來替代 'username@ip'
- 開啟ssh配置檔案
~/.ssh/config
- windows: 文字文件開啟or 終端
notepad ~/.ssh/config
- mac/linux:
vim ~/.ssh/config
- 修改ssh配置檔案
Host Nickname # 別名 HostName ip # ip或網址,指向伺服器 Port 22 # 預設22 User username # 設定使用者名稱
二、免密登入(金鑰登入)
金鑰登入指的是,
- 生成金鑰對
(Local):~ $ cd ~/.ssh (Local):~/.ssh $ ssh-keygen -b 4096 -t rsa -C custom_comment
修改custom_comment為自己定義,會顯示在公鑰中。
值得注意的是,私鑰只有一個,所以以上操作會覆蓋原有的公私鑰。
-
將生成的公鑰(*.pub)複製到遠端伺服器的.ssh資料夾中(username是管理員賦予你的賬戶名,ip為伺服器的ipv4地址,複製的檔名可自定義)
(Local):~/.ssh $ scp id_rsa.pub username@ip:~/.ssh/pub_key.pub Are you sure you want to continue connecting (yes/no)? $ yes [email protected]'s password: *********** id_rsa.pub 100%
-
ssh登入遠端伺服器後,將公鑰新增入authorized_keys(若不存在則新建)(touch命令,如其名,存在則無操作,不存在則新建檔案)