sshpass: 用于非交互的 ssh 密码验证

来源:互联网 发布:excel2013数据分列 编辑:程序博客网 时间:2024/05/18 04:56
原贴:http://linuxtoy.org/archives/sshpass.html

sshpass: 用于非交互的 ssh 密码验证

<script type="text/javascript"><!--google_ad_client = "pub-9432205671574187";//LT, 300x250google_ad_slot = "9869120281";google_ad_width = 300;google_ad_height = 250;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script><script>window.google_render_ad();</script><iframe name="google_ads_frame" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9432205671574187&amp;dt=1231860579244&amp;lmt=1231838298&amp;output=html&amp;slotname=9869120281&amp;correlator=1231860579244&amp;url=http%3A%2F%2Flinuxtoy.org%2Farchives%2Fsshpass.html&amp;ea=0&amp;ref=http%3A%2F%2Flinuxtoy.org%2F&amp;frm=0&amp;ga_vid=1487852779.1228736422&amp;ga_sid=1231860458&amp;ga_hid=1564599016&amp;ga_fc=true&amp;flash=0&amp;u_h=800&amp;u_w=1280&amp;u_ah=800&amp;u_aw=1280&amp;u_cd=24&amp;u_tz=480&amp;u_his=2&amp;u_nplug=1&amp;u_nmime=1&amp;dtd=17" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="250" scrolling="no" width="300"></iframe>

[撰文/Zhang Huangbin (michaelbibby AT gmail.com)]

OpenSSH 自带的 ssh 客户端程序(也就是 ’ssh’ 命令)默认不允许你以非交互的方式传递密码,如:

ssh www.iredmail.org <<EOF
ssh_password
ls /var/
EOF

Shell 里这样的输入重定向使用得非常普遍,而且通常都工作得很好。但是 ssh 不允许这样的方式来传递密码,所以需要远程连上服务器后进行的批处理就无法进行。

sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。例如:

# sshpass -p 'ssh_password' ssh www.iredmail.org

用 ‘-p’ 指定了密码后,还需要在后面跟上标准的 ssh 连接命令。

用法就是这么简单。

注意:

我之前使用的 sshpass 是 1.0,在第一次连接服务器的时候,无法自动接受服务器的 Key 验证,也不会出现提示信息,所以第一次连接服务器请使用标准的 ssh 命令行客户端工具,接受了服务器的 key 之后再用 sshpass。

sshpass

署名 • 注明出处 • 非商业性使用

10 Comments

  1. 1 dybnu Commented @ 2009-01-13 10:25 amReply to this comment

    用ssh就不要用密码验证,openbsd的老大推荐

  2. 2 number5 Commented @ 2009-01-13 10:38 amReply to this comment

    为什么不直接用publickey验证?

  3. 3 hmy Commented @ 2009-01-13 10:47 amReply to this comment

    现实总不是理想的,哈哈,我刚接手管理的一些机器就是用ldap用户认证,不太方便放证书。
    所以我也是刚用上这个软件,挺不错的。

    另外有个软件也不错,叫
    sshproxy
    有兴趣的同学自己去看

  4. 4 hmy Commented @ 2009-01-13 10:48 amReply to this comment

    现在sshpass 支持 -f 选项,从文本文件读取密码,不用出现在命令行。

  5. 5 hmy Commented @ 2009-01-13 10:50 amReply to this comment

    晕,再补充一下,把
    StrictHostKeyChecking no
    加到/etc/ssh/ssh_config
    可以让ssh客户端自动接受新主机的host_key,不用每次都自己输入yes

  6. 6 bones7456 Commented @ 2009-01-13 12:06 pmReply to this comment

    我曾经也给ssh写过一个patch,加上password参数,提交上去,人家说不安全,想想也是,于是就用自己的sssh了.

  7. 7 walkerxk Commented @ 2009-01-13 2:06 pmReply to this comment

    为什么不直接用expect?

  8. 8 Mike Commented @ 2009-01-13 2:27 pmReply to this comment

    为啥不用key登陆?

  9. 9 gougo Commented @ 2009-01-13 2:29 pmReply to this comment

    感觉这东西的功能用expect就能够很简单的实现了 .

  10. 10 feiy Commented @ 2009-01-13 5:18 pmReply to this comment

    就是,为什么不用expect,我多台服务器需要批量进行命令操作都是用expect +ssh做的


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信转账验证码收不到怎么办 陌生网友生日叫我发红包怎么办 微信群的群主不小心推出群该怎么办 支付宝验证码被别人知道了怎么办 微信解除银行卡绑定零钱清零怎么办 qq号被盗了理财通的钱怎么办 工行转错账号的钱被冻结怎么办 微信20w限额满了怎么办 通过qq号申请微信被盗了怎么办 微信号被盗手机绑定被改怎么办 腾讯视频激活码兑换达到限制怎么办 虚拟服务购买自动每月扣q币怎么办 微信被骗充值Q币怎么办 微信给别人充q币怎么办 k歌别人送的k币怎么办 忘记了qq号码但记得密码怎么办 q自己的活干完了该怎么办 在应用宝下载的游戏搜不到了怎么办 衣服有图片在淘宝找不到同款怎么办 淘宝卖家小儿说质量不合格怎么办 订单显示显示已签收没收到货怎么办 网上买过的东西查不到订单号怎么办 亚航的组合机票飞机延误怎么办 在微信上面对面红包被骗了钱怎么办 人欠我钱不给我怎么办 微信号被骗走然后骗了朋友钱怎么办 微信手机充值不到帐怎么办 中银香港密码器坏了怎么办 香港恒生银行的编码器丢了怎么办 淘宝拍下订单发货物流不显示怎么办 wish查到仿品审核变慢怎么办 淘宝卖家订单号错误无法修改怎么办 顺丰快递运单号微信扫描取消怎么办 买的王者荣耀号有守护平台怎么办 融e联登录密码错三次怎么办 金融e家u盾密码忘了怎么办 用工行网银转账后想取消交易怎么办 工行融e借没有密码器怎么办 工行融e借密码器丢了怎么办 工行融e联手机登录密码忘记怎么办 领导给员工抱怨工作太烦怎么办