配置ssh 無需密碼便可登陸遠程服務器

在平時工做或者開發本身的項目時,常常須要登陸部署了項目代碼的服務器來作一些調試,配置等相關的操做,像sftp、rsync之類的工具也是基於ssh通道來工做的。可是常常輸密碼登陸服務器又會讓人以爲很煩,本文就來簡單講一下如何配置ssh讓咱們在Mac或者Linux終端中無需密碼便可登陸遠程服務器。服務器

用ssh命令來遠程登陸服務器 如:ssh

ssh kevinyan@145.xx.xx.152

用kevinyan這個用戶經過ssh 鏈接145.xx.xx.152 這臺服務器。
可是這樣輸入老是須要輸入kevinyan這個用戶的密碼才能登陸服務器,若是想不輸入密碼便可鏈接服務器,須要先將客戶端的rsa公鑰放入服務器用戶家目錄下的.ssh/authorized_keys文件中。工具

  1. 生成SSH KEY加密

    ssh-keygen -t rsa -c  'example@qq.com'

    -t rsa 表示生成rsa方式加密的公鑰 -c後是註釋可不填,而後一路回車, 就會在客戶端電腦用戶家目錄的.ssh目錄下生成id_rsa(私鑰)和id_rsa.pub(公鑰)。調試

  2. 將id_rsa.pub裏的內容粘貼進服務器/home/kevinyan/.ssh/authorized_keys文件中,若是是第一次配置須要新建authorized_keys文件(若是authorized_keys裏已有其餘客戶端的公鑰,那麼把你的公鑰追加進去便可)

若是客戶端使用的是LINUX系統那麼步驟2也能夠用ssh-copy-id命令來完成複製公鑰到遠程主機上的操做code

ssh-copy-id -i ~/.ssh/id_rsa.pub   kevinyan@10.xx.xxx.152

如今在終端裏只須要輸入 ssh user@host 就能登陸上遠端的服務器了。
這裏有兩點須要注意開發

  • 服務端的authorized_keys文件的權限必須是600。
  • ssh-keygen命令重複執行會覆蓋以前生成的密鑰文件(會詢問是否覆蓋), 因此只生成一次 之後鏈接其餘服務器都用這個公鑰文件就行。
相關文章
相關標籤/搜索