內部系統有幾臺服務器,經常登陸,但是每次使用SSH登陸過於麻煩,我們通過設置可以免去輸入用戶名和密碼。
通過如下幾步可以完成:
1.生成密鑰
生成2個文件,位於~/.ssh/下,分別是公共密鑰id_rsa.pub,和私有密鑰id_rsa。
2.發送自己的公共密鑰給服務器端
以上命令是給遠程服務器發送自己的公共密鑰,服務器端會要求輸入密碼。服務端拿到這個密鑰後會在.ssh/下保存,文件名爲authorized_keys;在mac平臺下沒有該命令,可以通過scp命令將公共密鑰文件copy至服務端改名即可。
【注】解釋訪問過程:
在登陸服務端,無需輸入密碼,登陸過程如下:
- 客戶端先將自己的公共密鑰發送給服務器端存儲起來
- 客戶端發起登錄請求,服務器端接受到後,發送一段隨機的字符串給客戶端
- 客戶端接受該隨機字符串後使用自己的私有密鑰進行加密,然後發送給服務端
- 服務端接收後,使用存儲的客戶端公共密鑰進行解密,解密成功,客戶端即可登錄,就無須輸入密碼
3.在本地配置config文件,位於~/ssh/config,在該文件加入如下幾行配置:
那麼我們登陸時,輸入如下命令,無須用戶名和密碼,從此世界乾淨了許多
IdentityFile ~/.ssh/id_rsa