ssh config - hanyong/note GitHub Wiki
ssh 客户端配置
date: 2015-12-08
ssh 客户端详细配置文档可参考 man ssh_config
, 服务器配置可参考 man sshd_config
.
keychain 自动管理 ssh key
我们使用 ssh 时经常使用 publickey 自动登录, 但 key 有密码时每次要重新输入密码比较麻烦.
ssh 提供了 ssh-agent
和 ssh-add
来管理 key, 但其操作仍然比较人肉(底层).
通常第一次登录时启动 ssh-agent, 然后 ssh-agent 常驻内存, 相关程序通过环境变量查找到 ssh-agent.
以后每次登录时要检查 ssh-agent 是否存在, 然后查找并设置相关的环境变量,
这些工作 keychain
可以帮我们来做,
apt-get install keychain
安装 keychain 后在 .profile
添加如下一行代码即可.
eval "$(keychain --eval id_dsa)"
保持活动心跳, 不 hash 主机名
一些服务器会自动断开一些长时间没有活动的 ssh 连接,
可在 .ssh/config
添加 ServerAliveInterval
保持活动心跳.
另外 ubuntu 默认会对 .ssh/known_hosts
中的主机名做 hash, 导致 ssh 自动补全主机名不可用,
可设置 HashKnownHosts
禁止 hash 主机名.
Host *
ServerAliveInterval 58
HashKnownHosts no
自动复用 ssh 连接
一些不支持自动登录的 host, 如公司跳板机, 每次重复登录认证很麻烦, 可添加如下配置自动复用已存在的 ssh 连接, 避免重复登录认证.
Host login1.*
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p