設置 ssh 使用public key 免密碼登陸

第一步,生成本身公鑰, 私鑰dom

 

   1:  ssh-keygen -t rsa
   2:   
   3:  root@yjlml:~# ssh-keygen -t rsa
   4:  Generating public/private rsa key pair.
   5:  Enter file in which to save the key (/root/.ssh/id_rsa): 
   6:  Enter passphrase (empty for no passphrase): 
   7:  Enter same passphrase again: 
   8:  Your identification has been saved in /root/.ssh/id_rsa.
   9:  Your public key has been saved in /root/.ssh/id_rsa.pub.
  10:  The key fingerprint is:
  11:  3e:6e:d9:12:7c:f8:6f:18:f6:65:cb:6e:16:4f:83:43 root@yjlml
  12:  The key's randomart image is:
  13:  +--[ RSA 2048]----+
  14:  |                 |
  15:  |                 |
  16:  |                 |
  17:  |             E   |
  18:  |       .S.  . .  |
  19:  |       .+ +  o+..|
  20:  |        oB + +.=.|
  21:  |       .+.+ o = .|
  22:  |       ... o.+.  |
  23:  +-----------------+

 

中間連續按幾回回車, 使用默認文件名, 並不輸入密碼。ssh

 

二, 把你的公鑰,拷貝到遠程機器的  「~/.ssh/authorized_keys」 文件中。ide

剛纔生成的公鑰在: ~/.ssh/id_rsa.pub,  裏面是文本,直接複製出來,粘貼到遠程的「~/.ssh/authorized_keys」 文件中便可。 若是沒有這個文件,本身新建一個。測試

這個文件能夠保存多個公鑰,只須要連續放在裏面就能夠了。spa

拷貝的方法有不少。本身想辦法。rest

 

拷貝完成以後,重啓一下ssh服務。code

service ssh  restartblog

 

而後測試是否成功:rpc

   1:  root@yjlml:~# ssh root@190.***.***.***  -p 22   ls

這裏故意指定了一個端口22, 其實能夠省略的。若是你的ssh端口不是22能夠這樣指定。get

這句話是在遠程執行一個 命令 ls, 看能不能執行成功。

若是能看到ls的結果。那就是成功了。

 

 

三, 錯誤處理

若是訪問不成功,請檢查遠程機器的 「/etc/ssh/sshd_config 」文件:

找到其中的這一段。

 

   6:  RSAAuthentication yes
   7:  PubkeyAuthentication yes
   8:  #AuthorizedKeysFile    %h/.ssh/authorized_keys

 

image

 

注意,必須開啓 公鑰認證, 檢查公鑰文件。

 

改完以後,重啓遠程ssh服務: service ssh  restart

歡迎你們訪問個人我的獨立博客: http://byneil.com

相關文章
相關標籤/搜索