用Go写一个轻量级的ssh批量操作工具的方法
ssh.AuthMethod 里存放了 ssh 的认证方式。使用密码认证的话,就用 ssh.Password()来加载密码。这是因为为之后使用 session.Shell() 模拟终端时,所建立的终端参数。如果不配的话,默认值可能导致在某些终端上执行失败。例如一些 H3C 的交换机,连接建立后默认推出来的 Copyright 可能会导致 ssh 连接异常,然后超时或者直接断掉。session.Run() 仅限定执行单条命令,要执行若干命令组合就需要用到 session.Shell() 了。ssh 执行命令这样就差不多了。支持使用 ssh 密钥认证,此时如果输入 password ,则为作为 key 的密码对于 linux ,支持 linuxMode 模式,也就是将命令组合通过 && 连接后,使用 session.Run() 运行。也可以把输出结果存到以主机名命名的文本中,比如用来做配置备份
用户评论