IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

懒人连ssh不输密码若干大法

互联网,请记住我 2010-03-07 23:31:55 累计浏览 5,557 次
本机暂存

    作为一名系统管理员,经常需要在各种机器中倒腾来倒腾去的。嗯,做为一个超级大懒人,我想了不少办法来一步步简化连接方法。请一条条看,瘟到死插屁用户请绕行。

    Section one:从终端复制字符串到剪贴板的工具:xclip

    这个只针对linux/unix等X用户有效。我在bash_profile中写了这么一行:

    alias pw=’echo PASSWORD|xclip’

    然后在要输入密码之前,先在终端中输命令pw,这个密码就存在粘贴板里了。然后接下来,你就粘贴就行了,简单地Shift+Insert键搞定。我最喜欢用的就是这个。嗯,简单实用。不用写啥代码。

    Section Two:Expect

    Expect是一个perl工具,根据你事先设定好规则响应服务器端的某个输入。Yahoo的机器上有一个工具叫dist_install,每次操作至少要输3次密码,另一个yinst,也经常要输5次左右的密码,我就常常用这个来解压。不过这个要写脚本。

    网上有现成的脚本可用,比如这里:

    http://blog.chinaunix.net/u/21908/showart_1178288.html

    Section Three: sshpass:一个简单的能用参数方式指定密码的ssh 连接工具

    这个工具的使用方法有两种:

    A: 设置SSHPASS环境变量,比如在bashrc/bash_profile中写上

    export SSHPASS=’********’

    接下来用sshpass -e ssh some.host.yahoo.com [some commands]

    就可以了。

    B: 直接用-p参数指定密码:sshpass -p ****** ssh some.host.yahoo.com [some comands]

    哦,忘了说了,这个sshpass是一个开源的工具,放在sourceforge上了,http://sshpass.sourceforge.net/;但是这个程序有问题,就是那个著名的第一次问题,第一次连接一个主机时会询问你是否要将这个host加入known_hosts;原来的程序会直接退出,我做了修改,改动后的版本在这里:http://github.com/xurenlu/sshpass

    安装,很简单,用tar -xzf sshpass-1.0.4.tar.gz将之解压,然后cd sshpass-1.0.4,再配置一下:./configure,最后make && sudo make install就行了。

    推荐用我维护的版本,嗯,原来程序除开key问题外还有个缓冲区过小的问题,我把它从40改到1024了。另外,程序代码非常不雅,从排版到命名都相当不规范。

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Bash的模式和配置文件加载 (累计阅读 24,389)
  2. 高效Linux用户需要了解的命令行技能 (累计阅读 12,797)
  3. linux 建立两台机器的信任关系 (累计阅读 11,461)
  4. 利用脚本分析日志并利用snmp自定义OID,再通过cacti画图 (累计阅读 10,052)
  5. linux中设置alias永久生效 (累计阅读 9,584)
  6. Bash脚本15分钟进阶教程 (累计阅读 9,034)
  7. sshd+chrome+switchsharp翻墙 (累计阅读 8,757)
  8. 你可能不知道的Shell (累计阅读 8,290)
  9. Linux shell脚本使用while循环执行ssh的注意事项 (累计阅读 8,162)
  10. Bash 小技巧:给目录加上书签,快速切换目录 (累计阅读 8,063)