1. 程式人生 > >Mac ssh 遠端登入 無需密碼驗證 設定

Mac ssh 遠端登入 無需密碼驗證 設定

開啟 mac 終端

第一步:生成金鑰。在終端下執行命令:

  1. ssh-keygen -t rsa

一路回車,各種提示按預設不要改,

生成的金鑰對id_rsa,id_rsa.pub,預設儲存在 ~/.ssh目錄 下

 密碼預設為 空 ,等待執行完畢。然後執行下面命令檢視 生成的 金鑰對

  1. ls ~/.ssh
  2. #可以看到兩個金鑰檔案:id_rsa(私鑰) id_rsa.pub(公鑰)

第二步:放置公鑰到Linux伺服器。使用scp命令:

  1. scp ~/.ssh/id_rsa.pub 登入使用者名稱@伺服器域名:/.ssh/

第三步:將 id_rsa.pub的內容複製到遠端主機的/home/dbrg/.ssh/authorized_keys檔案中

如果機器上已經有 authorized_keys這個檔案了,就在檔案末尾加上id_rsa.pub中的內容,

  1. #先登入到遠端伺服器
  2. cd ~/.ssh
  3. cat -n /home/cssor/.ssh/id_rsa.pub > authorized_keys #將公鑰內容加入到authorized_keys檔案,沒有則新建一個就行

如果沒有authorized_keys這個檔案,直接cp 就好了

先登入到遠端伺服器然後執行下面命令

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys


這一步非常關鍵,必須保證authorized_keys只對其所有者有讀寫許可權,其他人不允許有寫的許可權,否則SSH是不會工作的。我就曾經在配置SSH的時候鬱悶了好久。

chmod 644 ~/.ssh/authorized_keys


第三步:配置本地ssh config檔案。執行:

  1. vi ~/.ssh/config

加入以下內容:

  1. Host server #別名,域名縮寫
  2. HostName sever.com #完整的域名
  3. User username #登入該域名使用的賬號名
  4. IdentityFile~/.ssh/id_rsa #私鑰檔案的路徑

經過以上操作以後,已經大功告成。
使用ssh server或ssh server.com就可以直接登入到遠端伺服器了。並且如果git伺服器也是搭建在同一個Linux主機上,本地執行git pull等也不需要密碼再次登入了。

以上比較要注意的是: 公鑰要放在登入伺服器所用的賬號的家目錄下,比如你用 abc登入遠端伺服器,就要把公鑰 放到 /home/abc/.ssh/下, authorized_keys檔案也是在這個目錄下。我曾因為放錯賬號目錄,導致失敗。