客戶端:MacOSgit
服務端:CentOSwindows
其餘系統操做相似。bash
1. 客戶端生成密鑰。服務器
ssh-keygen -t rsa -C "mac"
* -C 是註釋的意思,若是你有多個密鑰,價格註釋比較好區分ssh
* windows系統可能沒有ssh-keygen命令,裝一個git-bash就行了post
2. 上述命令一直敲回車,會生成兩個文件id_rsa,id_rsa.pub,前面是私鑰,後面是公鑰。rest
私鑰放到本機~/.ssh目錄下,改個名字:id_rsa_mac,方便之後增長其餘密鑰,在~/.ssh目錄下新建config文件,內容以下:code
# 這裏是註釋 Host sample HostName 你的服務器地址 Port 你的ssh端口,默認22 User 登陸用戶名 IdentityFile ~/.ssh/id_rsa_mac
3. 將上面的公鑰id_rsa.pub打開,全文複製,而後到服務器上進行以下操做:(特別注意:你想免密碼登錄哪一個帳號,就在相應帳戶的目錄下進行操做,我以前一直失敗就是這裏沒配好,網上的教程也不多提醒這個):blog
進入~/.ssh目錄(若是沒有則新建)教程
打開authorized_keys文件(沒有則新建),在末尾粘貼id_rsa.pub的內容,保存。
.ssh目錄訪問權限設置爲700,authorized_keys權限設置爲644,owner都是當前帳戶。
4. 編輯/etc/ssh/sshd_config文件,最後增長几行:
RSAAuthentication yes PubkeyAuthentication yes Port 你的ssh端口
5. 執行services sshd restart,重啓sshd服務
如今,你就能夠在客戶端執行ssh sample直接登錄這臺服務器了!(若是仍是提示你輸入密碼,那麼就是沒有配置成功,請仔細檢查前面的步驟)
想使用不一樣帳戶登錄?太簡單了,ssh user1@sample, ssh user2@sample,只要相應帳戶目錄下正確配置了authorized_keys,都沒問題,開始High吧!