shell中实现自动登录(bash环境脚本中)
2017-04-07 03:13
471 查看
ssh连接远程主机时候询问密码,跟su、sudo命令的默认行为一样,是不从stdin读入数据的,据称是为安全考虑,但是有时候在脚本当中确实需要无人守值的登陆。
搜索一下不难找到类似的例子,使用expect来完成密码应答:
auto_login_ssh passwd user@host
StrictHostKeyChecking=no参数让ssh默认添加新主机的公钥指纹,也就不会出现出现是否继续yes/no的提示了。
expect很不错,上述代码基本可以达到要求了,能够当翻墙用的ssh -D自动登陆,执行远程命令等等,但是如果作为一个完全非交互的远程工具,应该说还一差,不能返回整个连接执行过程是否成功。
搜索一下不难找到类似的例子,使用expect来完成密码应答:
#!/bin/bash auto_login_ssh (){ expect -c "set timeout -1; spawn -noecho ssh -o StrictHostKeyChecking=no $2 ${@:3}; expect *assword:*; send -- $1\r; interact;"; }
auto_login_ssh passwd user@host
StrictHostKeyChecking=no参数让ssh默认添加新主机的公钥指纹,也就不会出现出现是否继续yes/no的提示了。
expect很不错,上述代码基本可以达到要求了,能够当翻墙用的ssh -D自动登陆,执行远程命令等等,但是如果作为一个完全非交互的远程工具,应该说还一差,不能返回整个连接执行过程是否成功。
相关文章推荐
- shell中实现自动登录(bash环境脚本中)
- Shell脚本实现自动输入密码登录服务器
- Shell脚本实现自动输入密码登录服务器
- shell脚本实现ssh自动登录
- Shell脚本实现自动输入密码登录服务器
- shell脚本实现ssh自动登录功能分享
- Shell脚本实现自动登录
- shell脚本自动 进行配置免密登录,安装java环境,安装tomcat
- 用expect实现的自动登录到多台服务器的shell脚本
- Shell脚本实现自动输入密码登录服务器
- shell脚本通过expect实现自动单边无密登录功能
- shell脚本实现ssh自动登录-功能扩展,实现多个IP可选
- shell脚本实现ssh自动登录功能分享
- linux使用shell脚本实现自动登录scp传输文件到其他服务器
- shell脚本通过expect实现自动单边无密登录
- shell脚本-实现网站自动登录
- shell脚本自动登录FTP实现上传下载
- 用expect实现的自动登录到多台服务器的shell脚本
- OWA 2010 auto login(自动登录脚本实现)
- shell实现ssh自动登录远程主机