Mac公鑰ssh登陸Linux,並設置iTerm2記住服務器無密碼快捷登陸

參考:
mac下配置centos的ssh登陸使用RSA公私鑰
阮一峯:ssh原理和應用html

公鑰登陸原理:
非對稱加密方式,公鑰加密,私鑰解密
本地生成一對密鑰(公鑰和私鑰),並把公鑰放到須要訪問的服務器上。若是須要鏈接到SSH服務器上,客戶端軟件就會向服務器發送請求,請求用本地的密鑰進行安全驗證,服務器收到請求後,先在該服務器上的主目錄下尋找客戶端的公鑰,而後把它和客戶端發來的公鑰進行比較。若是一致,服務器就用這個公鑰加密「質詢」(challenge)並把它發送給客戶端軟件,客戶端本地接收到「質詢」以後,就可用本地的私鑰解密,而後把它md5後發給服務器,服務器將本地的「輪詢」值md5後對比一致即創建鏈接,整個傳輸途中只有本地公鑰和加密及解密「質詢」的md5值傳輸,無明文傳輸。shell

1、Mac本地端

先生成本地公鑰和私鑰centos

ssh-keygen
#不要輸入任何東西,一概回車
#會在~/.ssh/下生成公鑰和私鑰

2、服務端

先開啓密碼登陸(晚點再關閉),若是以前沒有生成過公鑰和私鑰,就直接在 ~/.ssh/ 新建 authorized_keys(注:不要執行ssh-keygen,若是.ssh下面有內容,可先所有刪除) ,將Mac本地端的 id_rsa.pub 內容複製進去(注:若是以前已經有內容,就跟在後面)安全

vi ~/.ssh/authorized_keys

3、權限設置

如今爲本地mac的私鑰設置權限:服務器

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

設置服務器上的文件權限:ssh

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4、設置ssh配置,禁用密碼登陸

vi /etc/ssh/sshd_config
#將PasswordAuthentication設置成no,而後重啓
service sshd restart

5、無密碼登陸

ssh root@ip
# 指定端口
ssh root@ip -p 端口號

注意原密碼登陸的窗口先不要斷開和關閉,新開一個shell窗口無密碼登陸看看,若是能正常鏈接上,方可關閉原密碼鏈接的窗口,防止無密碼登陸失敗。加密

6、後續

注意將本地的私鑰和公鑰同步到雲端,方便給其餘電腦使用;rest

iTerm2中設置 Profiles ,選中 command ,輸入 ssh root@ip ,直接在iTerm2上方菜單 Profiles 選擇服務器快捷登陸,很是方便。code

7、多個客戶端登陸

只須要將客戶端的公鑰加入到服務器文件~/.ssh/authorized_keys後面便可,注意須要將公鑰本身組裝一下
原公鑰內容:htm

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20151019"
內容...
---- END SSH2 PUBLIC KEY ----

須要本身組合一下放到服務器的文件~/.ssh/authorized_keys後面,ssh-rsa+空格+公鑰內容+註釋內容:

ssh-rsa 
內容...
相關文章
相關標籤/搜索