1. 程式人生 > >ssh-keygen配合~/.ssh/config免密碼及[email protected]

ssh-keygen配合~/.ssh/config免密碼及[email protected]

用過終端登入遠端伺服器或者VPS的童鞋都用過類似的命令:ssh [email protected],輸入密碼後就可以登入遠端伺服器了,但是人總是懶滴,Here,免輸入密碼登入遠端伺服器的方法:

  • 開啟終端,本地生成id_rsa(私鑰),id_rsa.pub(公鑰):

    ssh-keygen -t rsa

    如圖所示(一路按enter鍵):

    ssh-keygen

    公鑰(id_rsa.pub)和私鑰(id_rsa)預設生成在:~/.ssh/ 目錄下。

  • 拷貝公鑰到遠端伺服器上,或則其他地方whatever…

    scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/

    上面的username換成你的使用者名稱,和伺服器地址。然後你需要登入到你的遠端伺服器上操作。

  • 登入遠端伺服器操作

    ssh [email protected]

    輸入密碼後登入,也許是你最後一次登入伺服器需要密碼。

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

    大功告成,logout如果你沒操作錯誤的話,你就可以在客戶端輸入 ssh [email protected]登入伺服器了,不用輸入密碼。

  • 配置SSH CONFIG

    touch ~/.ssh/config

    新建一個自定義ssh config檔案

    vim ~/.ssh/config

    用VIM或者其他編輯器開啟config檔案,配置config, 貼上如以下格式內容,儲存:

    Host vps(這裡是自定義的host簡稱,以後連線遠端伺服器就可以用命令ssh vps)
      User 這裡填使用者名稱(如:root)
      HostName 這裡填伺服器地址也可以是域名(如:server.xxoo.com)
      Port 這裡填伺服器open-ssh埠(預設:22)
      IdentityFile 這裡是剛剛生成的私鑰檔案地址(如~/.ssh/id_rsa)
    
    

    其實這個東西可以用來配置你連線不同的遠端伺服器,比如有兩個github賬戶,或者兩個git伺服器等等。

貌似你現在可以用ssh vps登入遠端伺服器了。一直記不住這些東東,就先上這一筆記吧,僅供參考。

PS..ssh-keygen

命令中-t代表生成檔案的型別如rsa,dsa等等,然後-C引數貌似是一個註釋吧,Provides a new comment. 如果用ssh-keygen -t rsa -C "註釋內容,一般為郵件地址",生成的公鑰後面會帶上註釋,暫時我也不知道拿來幹嘛的。。。