SSH免密碼登入配置.md
阿新 • • 發佈:2018-11-11
在客戶機生成私鑰和公鑰後,將公鑰放在服務機,後續客戶機通過ssh遠端登入服務機時,將不再提示輸入服務機登入密碼,即可實現免密碼登入。
- 這種“公鑰登入”方式,可用在伺服器間,也可以用在個人電腦(mac\windows\linux),從而實現免密碼遠端登入伺服器;
- 而我之所以會用到,最主要原因是我們所有的伺服器訪問都是通過堡壘主機來完成的,實際上我們不會有伺服器密碼;
- 比較坑的一點,堡壘主機不支援mac,所以只能乖乖開啟虛擬機器,通過windows訪問堡壘機,效率是非常低;
- 好在測試伺服器22埠目前還未限制,我們可用這種方式配置,實現mac免密碼登入伺服器;
- 以上其實不合公司規定( ̄Д  ̄)
Mac配置方式:
由於mac os 是基於unix的作業系統終端和linux非常類似,所以不用藉助類似於windows下的putty 和CRT工具即可遠端登陸linux伺服器,只需簡單地3步即可免密碼ssh遠端。
#####1. 生成金鑰。在mac終端下執行如下命令:
ssh-keygen -t rsa
預設都摁回車就行,不用做其他修改,執行完後會生成兩個檔案,一個公鑰,一個私鑰。
ls ~/.ssh
#id_rsa(私鑰) id_rsa.pub(公鑰)
#####2. 放置公鑰到需要遠端的伺服器。
scp ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/
#####3. 登入到遠端伺服器
cd ~/.ssh
cat /root/.ssh/id_rsa.pub >> authorized_keys #將公鑰內容加入到authorized_keys檔案,沒有則新建一個就行
#####4. 將authorized_keys更改許可權
chmod 600 authorized_keys
也可以在遠端伺服器上生成一對金鑰,將公鑰內容加入到authorized_keys檔案並更改許可權,將私鑰拷貝到需要遠端伺服器的終端下
###SSH客戶端使用配置
#####1. 將私鑰檔案檔案放到~/.ssh
vi ~/.ssh/config
#####2. 在檔案中寫入內容為
Host test_server #別名,域名縮寫
HostName test.com #完整的域名,本地host解析至遠端IP
User root #登入該域名使用的賬號名
PreferredAuthentications publickey #有些情況或許需要加入此句,優先驗證型別ssh
IdentityFile ~/.ssh/id_rsa #私鑰檔案的路徑
#####3. 客戶端SSH登入遠端伺服器
ssh {Host} # 登入剛才設定的別名伺服器
#####4. 疑難問題
Permissions 0777 for ‘/Users/username/.ssh/id_rsa’ are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
chmod 600 ~/.ssh/id_rsa