[完全用 GNU/Linux 工作] 20. 增進 SSH 使用效率 - ssh_config
SSH 可說是每台 GNU/Linux 必裝的服務之一,我們可以藉由它,在遠端進行一切的操作。為避免被怪客 (cracker) 入侵,會於提供該服務的機器加上限制,以提高安全性,例如:更改埠口 (Port)、限制 IP 登入或只使用金鑰登入 ... 等。
隨著機器數量及限制增加的同時,使用上的繁瑣及不便也會隨之增加。這時,我們可事先設定各個主機,以便日後的使用。Windows 上的 PieTTY, Xshell 皆有此功能,而在 Linux 裡凍仁則習慣直接編修 openssh-client 的設定檔 $HOME/.ssh/config。
1.1. 設定各個主機 (Host) 的 SSH 設定。
1.2. 使用 $HOME/.ssh/config 設定檔連接各主機。
※ 註:舊版的 openssh-server 可能不支援以下參數。
2.1. 認證代理:當本機上的同一把金鑰曾在多台 Server 上註冊並啟用此設定,則可於多台 Server 上轉發,也就是可使用本機的金鑰登入第二層、第三層的 Server。
2.2. 壓縮頻寬:先藉由 CPU 壓縮後再進行傳輸,適用於效能較好的機器。
2.3. 減少重複連線的時間。
2.4. 延長連線時間。
2.5. 取消加密以提升連線速度:適用於區網、可信賴的網路環境及大量檔案傳輸之情境 (可有效減少 CPU 負載)。
2.6. 更多詳細說明請參考 Manpage。
隨著機器數量及限制增加的同時,使用上的繁瑣及不便也會隨之增加。這時,我們可事先設定各個主機,以便日後的使用。Windows 上的 PieTTY, Xshell 皆有此功能,而在 Linux 裡凍仁則習慣直接編修 openssh-client 的設定檔 $HOME/.ssh/config。
1. 基本使用
1.1. 設定各個主機 (Host) 的 SSH 設定。
- Host: 代號。
- Hostname: IP or Domain name。
- Port: 指定埠口。
- User: 使用者名。
- identityfile: 指定金鑰。
[ jonny@workstation ~ ]
$ vi ~/.ssh/config
# - master Host master Hostname 192.168.11.24 Port 2222 User jonny identityfile ~/.ssh/id_rsa_24 # - slave Host slave Hostname 192.168.11.25 Port 2223 User jonny identityfile ~/.ssh/id_rsa_25
1.2. 使用 $HOME/.ssh/config 設定檔連接各主機。
[ jonny@workstation ~ ]
$ ssh slave
[ jonny@slave ~ ]
$ sftp master
Connected to master.
sftp>
2. 進階使用
※ 註:舊版的 openssh-server 可能不支援以下參數。
2.1. 認證代理:當本機上的同一把金鑰曾在多台 Server 上註冊並啟用此設定,則可於多台 Server 上轉發,也就是可使用本機的金鑰登入第二層、第三層的 Server。
ForwardAgent yes
2.2. 壓縮頻寬:先藉由 CPU 壓縮後再進行傳輸,適用於效能較好的機器。
Compression yes
2.3. 減少重複連線的時間。
ControlMaster auto
ControlPath /tmp/ssh-%r@%h:%p
2.4. 延長連線時間。
ControlPersist 1h
2.5. 取消加密以提升連線速度:適用於區網、可信賴的網路環境及大量檔案傳輸之情境 (可有效減少 CPU 負載)。
Ciphers arcfour
2.6. 更多詳細說明請參考 Manpage。
[ jonny@workstation ~ ]
$ man ssh_config
本文同步發佈於 iT 邦幫忙。
站內連結:
★ 凍仁的筆記: ssh 遠端登入免密碼 with RSA
★ 凍仁的筆記: 阻擋 sshd 部分使用者連線 (DenyUsers, DenyGroups)
★ 凍仁的筆記: scp - 藉由 ssh 的遠端檔案傳輸指令
★ 凍仁的筆記: sshd 停用 root 遠端登入權限
資料來源:
★ 教你高效使用SSH 的16 個技巧 _人人IT網
★ SSH Can Do That? Productivity Tips for Working with Remote Servers | Smylers [blogs.perl.org]
★ Using an SSH Config File
★ How To Reuse SSH Connection To Speed Up Remote Login Process
有時,把不安全的 Arcfour Cipher 強制停用,也是個增加 server 安全性的手法。
回覆刪除▌ SSH 伺服器停用不安全的 Arcfour Cipher - G. T. Wang
▌ — https://blog.gtwang.org/linux/sshd-disable-arcfour-cipher-tutorial/