加载中...

增进 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 设定。

$ vi ~/.ssh/config

# - master
Host            master                # 代號
Hostname        192.168.11.24        # IP or Domain name
Port            2222                # 指定埠口
User            jonny                # 使用者名稱
identityfile    ~/.ssh/id_rsa_24    # 指定金鑰

# - slave
Host            slave                # 代號
Hostname        192.168.11.25        # IP or Domain name
Port            2223                # 指定埠口
User            jonny                # 使用者名稱
identityfile    ~/.ssh/id_rsa_25    # 指定金鑰

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

[ jonny@workstation ~ ]
$ ssh slave
[ jonny@slave ~ ]
$ sftp master
Connected to master.
sftp> 

进阶使用

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

认证代理

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

ForwardAgent    yes                        

压缩频宽

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

Compression     yes

减少重复连线的时间

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

延长连线时间

ControlPersist  1h

取消连线加密

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

Ciphers arcfour

更多详细说明请参考 Manpage。

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 远端登入权限

还没有评论.