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

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

互联网,请记住我 2009-12-28 10:43:36 累计浏览 4,325 次
本机暂存

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

    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,410)
  2. Linux如何统计进程的CPU利用率 (累计阅读 16,307)
  3. 我的 RHCA 之路 (累计阅读 14,013)
  4. Linux内存点滴 用户进程内存空间 (累计阅读 13,229)
  5. 给程序员新手的一些建议 (累计阅读 13,089)
  6. Linux 性能监控、测试、优化工具 (累计阅读 13,011)
  7. 关于linux内存free的一些事情 (累计阅读 12,867)
  8. 高效Linux用户需要了解的命令行技能 (累计阅读 12,826)
  9. ps - 按进程消耗内存多少排序 (累计阅读 12,687)
  10. Google怎么用linux (累计阅读 12,581)