分享一个ssh打通的脚本,经过测试可用。目前只能单向打通,且要求本地用户名为admin(写入代码,可简单修改)。本身只是个人使用,故通用性、异常情况考虑不多,大家可以做个参考。
补充一点,Important Tip:
authorized_keys文件的权限很重要,如果设置为777,那么登录的时候,还是需要提供密码的 :
chmod 400 authorized_keys
#!/usr/local/bin/expect -f
set user [lindex $argv 0]
set ipaddr [lindex $argv 1]
set passwd [lindex $argv 2]
spawn ssh-keygen -t rsa
expect {
"*save the key" {send "\r";exp_continue}
"Overwrite (y/n)?" {send "\r";exp_continue}
}
spawn ssh $user@$ipaddr "mkdir /home/$user/.ssh"
expect {
"*password:" {send "$passwd\r";exp_continue}
}
spawn scp /home/admin/.ssh/id_rsa.pub $user@$ipaddr:/home/$user/.ssh/id_rsa.pub
expect {
"*password:" {send "$passwd\r";exp_continue}
}
spawn ssh $user@$ipaddr "touch /home/$user/.ssh/authorized_keys"
expect {
"*password:" {send "$passwd\r";exp_continue}
}
spawn ssh $user@$ipaddr "cat /home/$user/.ssh/id_rsa.pub >> /home/$user/.ssh/authorized_keys"
expect {
"*password:" {send "$passwd\r";exp_continue}
}
分享到:
相关推荐
expect+python组合实现一键SSH
服务器ssh关闭脚本 ,里面可以用xml配置关闭服务器上的应用,比如hadoop,spark,mysql等,最后再关闭服务器,对小公司每天要关闭开发测试服务器有帮助,在windows上一键关机,而且会有日志
ssh脚本,ssh脚本,ssh脚本
widnows自动登录ssh服务器自动执行命令的脚本
做好ip清单,每行一个ip,ssh批量登录执行命令
batssh是一个在Linux系统下的批量远程执行脚本工具 使用例子: batssh -f /tmp/all_hosts "service iptables stop
1、可同时在多台Linux执行同一个指令。 2、主节点需要与其它节点配置免密。 3、脚本简单,请先测试.(sh ssh_do_command.sh "ls")
ssh-exec, 使用 node.js 在ssh上执行脚本 ssh在ssh上执行脚本,使用 node.js 和管道,并从可以通过npm提供。npm install ssh-exec它是用普通的Javascript编写的,使用了 ssh2作为所有重。用法var ex
linux自动升级ssl&ssh脚本
SSH免密登录脚本,免密登陆环境脚本------ssh_no_pass.sh,centos7,ssh秘钥
自制ssh连接管理脚本 linux
自动登陆ssh,批量ip脚本操作 好吧,终于到20个字了
这是一个python脚本工具,主要用于快捷的搜索文档并通过ssh将其上传到指定的ssh服务端,或者从ssh服务端快捷的搜索文档并下载到本地。工具包中有一个 ssh工具.bat 脚本,该脚本可以用于启动 ssh工具.py 脚本,双击...
ssh项目数据库脚本
ruby ssh备份远程服务器脚本,主要是学习net/scp这个模块
博文链接:https://zsp.iteye.com/blog/246859
mysql mha ssh互信脚本,1.sh,用法,解决互信配置权限不足,手动操作麻烦问题。
从ssh窃取密码的脚本
SSH自动断开连接的原因和解决办法|SSH保持长连接方法
ssh免交互分发脚本,可以根据内网地址循环分发公钥,也可以根据ip地址进行批量分发。实现一键自动化。