通過配置ssh-config,簡化ssh連線
阿新 • • 發佈:2019-01-11
- 很多時候我們需要通過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
,即可訪問配置好的遠端伺服器 - 備註
- 網上也有通過iterm2配置profile的方式簡化登入方式,也不失為一種好辦法,但是比較依賴客戶端程式