ssh登录自动输入密码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh登录自动输入密码相关的知识,希望对你有一定的参考价值。
参考技术A现有解决方案有expect 和 sshpass 等第三方解决方案,因不想引入过多依赖决定自己实现。
通过查找 资料 发现以上方案是对tty直接写入来达到效果,但是我用bash脚本直接对tty写入确只能在屏幕显示,不能被程序获取,于是转入使用ruby按照以上资料来自己实现,
发现将第6,7,8行注释掉之后报如下错误:
对ssh_askpass 查找 资料 发现环境变量 SSH_ASKPASS 和 DISPLAY可以定义一个程序用来在ssh没有联接终端时提供密码。
**SSH_ASKPASS **设为提供密码的程序
DISPLAY 设为 :0
测试发现ssh 调用 SSH_ASKPASS 定义的程序时,带 参数执行,如
***# $SSH_ASKPASS * root@xx.xx.xx.xx\'s password:
只要程序打印正确密码,ssh即可验证通过,于是问题解决,也不需要用ruby去实现了。
示例如下:
项目GitHub地址
这样即可自动输入密码ssh登录。
网上几乎都是expect 和 sshpass等方案来实现自动输入密码,此方法原理网上资料少有,记录之。
2016.11.24
以上是关于ssh登录自动输入密码的主要内容,如果未能解决你的问题,请参考以下文章
sshpass结合ssh和scp可以自动完成密码登录,无需手动输入密码
SecureCRT远程登录Unix主机时(telnet和ssh)能不能自动输入账号和密码,然后怎样让其自动执行脚本,谢谢啦