Linux - SSH登陸遠程主機

  前言前端

    最近由於工做的開發環境轉爲Linux,因此儘管我是前端攻城師,仍是要熟悉一下開發環境,因此這裏一邊學習一邊留下筆記.shell

  正文vim

    要經過終端鏈接一個遠程主機,正常的配置是直接在命令行中:ssh user@192.168.1.1;而後輸入祕密就行了.若是想經過SSH的方式進行免密碼登陸,就要進行必定的配置.服務器

    這裏的環境是Mac <--> Linux之間的鏈接,首先經過命令行生成SSH密匙.通常在home目錄下的.ssh文件夾(隱藏)生成密匙,首先進入文件夾.cd ~/.ssh;而後經過ssh keygen命令生成密匙,這裏我生成的一個id_rsa和一個id_rsa.pub兩個密匙.帶有.pub後綴的是公匙,不帶的時私匙.ssh

    生成完畢後均可以打開裏面就是一個長長的字符串,下一步要將公匙的內容複製到遠程服務器的固定文件中.這裏是但願將~/.ssh/id_rsa.pub(Mac機)的內容複製到/home/elemedev/.ssh/authorized_keys(Linux機).編輯器

    這樣的一個操做你能夠經過命令行的方式,也能夠vim編輯器來複制內容.若是是複製能夠用:sudo scp -r ~/.ssh/id_rsa.pub user@192.168.1.1:~/.ssh/authroized_keys;這一過程可能會報一些問題,好比複製的scp命令提示權限等問題,這裏的權限要精確到目錄,即你提取內容的目錄和你接收內容的目錄是否都擁有權限.這裏最好不要切換root用戶,直接使用sudo升權命令或者修改文件目錄便可. 學習

    而後再鏈接的時候,就不須要輸入密碼了,由於已經經過了SSH的密匙驗證.spa

  補充命令行

    這樣鏈接仍是要寫用戶名和地址的,若是你能夠配置下.ssh/config文件,就能夠經過更加方便的方式進行鏈接.code

    在config文件中,按照以下格式配置:

    Host 別名

    HostName 主機名(IP)

    Port 端口號(默承認以忽略)

    User 登陸用戶名

    IdentityFile 密匙文件路徑(包含文件名,不須要後綴)

    而後直接經過命令: ssh 別名;這樣就能夠鏈接了.

相關文章
相關標籤/搜索