1. 程式人生 > >SSH免密碼登入配置.md

SSH免密碼登入配置.md

在客戶機生成私鑰和公鑰後,將公鑰放在服務機,後續客戶機通過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