加载中...

增进 SSH 使用效率 - ssh_config


完全用 GNU/Linux 工作

20. 增进 SSH 使用效率 - ssh_config

SSH 可说是每台 GNU/Linux 必装的服务之一,我们可以借由它,在远端进行一切的操作。为避免被怪客 (cracker) 入侵,会于提供该服务的机器加上限制,以提高安全性,例如:更改埠口 (Port)、限制 IP 登入或只使用金钥登入 ... 等。

随着机器数量及限制增加的同时,使用上的繁琐及不便也会随之增加。这时,我们可事先设定各个主机,以便日后的使用。Windows 上的 PieTTY, Xshell 皆有此功能,而在 Linux 里冻仁则习惯直接编修 openssh-client 的设定档 $HOME/.ssh/config

基本使用

设定各个主机 (Host) 的 SSH 设定。

  1. $ vi ~/.ssh/config
  2. # - master
  3. Host master # 代號
  4. Hostname 192.168.11.24 # IP or Domain name
  5. Port 2222 # 指定埠口
  6. User jonny # 使用者名稱
  7. identityfile ~/.ssh/id_rsa_24 # 指定金鑰
  8. # - slave
  9. Host slave # 代號
  10. Hostname 192.168.11.25 # IP or Domain name
  11. Port 2223 # 指定埠口
  12. User jonny # 使用者名稱
  13. identityfile ~/.ssh/id_rsa_25 # 指定金鑰

使用 $HOME/.ssh/config 设定档连接各主机。

  1. [ jonny@workstation ~ ]
  2. $ ssh slave
  3. [ jonny@slave ~ ]
  4. $ sftp master
  5. Connected to master.
  6. sftp>

进阶使用

以下参数在较旧版的 openssh-server 可能不支援。

认证代理

当本机上的同一把金钥曾在多台 Server 上注册并启用此设定,则可于多台 Server 上转发,也就是可使用本机的金钥登入第二层、第三层的 Server。

  1. ForwardAgent yes

压缩频宽

先借由 CPU 压缩后再进行传输,适用于效能较好的机器。

  1. Compression yes

减少重复连线的时间

  1. ControlMaster auto
  2. ControlPath /tmp/ssh-%r@%h:%p

延长连线时间

  1. ControlPersist 1h

取消连线加密

于区网、可信赖的网络环境及大量档案传输之情境使用此参数可有效减少 CPU 负载以提升传输速度。

  1. Ciphers arcfour

更多详细说明请参考 Manpage。

  1. man ssh_config

资料来源

  • 教你高效使用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
  • 冻仁的笔记: ssh 远端登入免密码 with RSA
  • 冻仁的笔记: 阻挡 sshd 部分使用者连线 (DenyUsers, DenyGroups)
  • 冻仁的笔记: scp - 借由 ssh 的远端档案传输指令
  • 冻仁的笔记: sshd 停用 root 远端登入权限

还没有评论.