1. 程式人生 > >通過配置ssh-config,簡化ssh連線

通過配置ssh-config,簡化ssh連線

  • 很多時候我們需要通過ssh連線開發,測試,線上伺服器。在windows下我們有xshell等工具,配置一下金鑰認證就可以快速連線。但是在mac或者在linux工作環境下下可能就沒有比較通用的客戶端了,這裡我們介紹一種原生的通過配置ssh_config的方式簡化連線命令。
  • 這是一段ssh_config檔案的註釋,解釋這樣做的原理:
# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files # or on the command line.
  • 步驟如下:
  • 配置你的ssh_config檔案(一般在/etc/ssh目錄下)如下:
Host 98  //這裡是設定你的連線的一個別名
Hostname 111.111.111.111   //設定ip
Port 56789 //設定埠號
User wangsan   //設定登入名
PasswordAuthentication no  //是否需要密碼認證,如果是sshkey認證,則no
ForwardAgent yes   //是否需要轉發key到代理伺服器,如果需要通過跳轉機連線同學,這裡需要填寫yes
AddKeysToAgent yes //將key新增到sshkey轉發列表 IdentityFile ~/.ssh/98/id_rsa //這裡是你生成的私鑰地址,對應的公鑰也需要放入id_rsa.pub
  • 將你的公私鑰檔案放入上面填寫的地址,這裡需要注意,需要將/.ssh/98目錄設定成700許可權,將id_rsa檔案設定成600許可權,擁有者改為自己,原因如下:
~/.ssh/identity
     ~/.ssh/id_dsa
     ~/.ssh/id_ecdsa
     ~/.ssh/id_ed25519
     ~/.ssh/id_rsa
             Contains the private key for
authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute). ssh will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using 3DES. 也就是私鑰檔案因為安全需要,不能被其他使用者訪問,如果訪問安全不夠,則會預設忽略該私鑰。 具體怎麼改? 修改許可權: 1.把從.ssh到獲取金鑰之間的目錄許可權修改成700,上面的例子我們需要修改98目錄的許可權:chmod 700 目錄 2.把私鑰檔案許可權修改成600:chmod 600 私鑰檔案 3.檢視當前登入使用者 whoami 4.修改私鑰所有者為自己 chown 當前使用者
  • 配置好後,我們只需要鍵入:ssh 98,即可訪問配置好的遠端伺服器
  • 備註
    1. 網上也有通過iterm2配置profile的方式簡化登入方式,也不失為一種好辦法,但是比較依賴客戶端程式