分享一个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}
}
分享到:
相关推荐
在提供的压缩包文件中,"批量打通ssh脚本"很可能是这样一个结合了`expect`和`python`功能的脚本,具体实现可能因需求而异,但其核心思想是利用这两个工具自动化SSH连接流程。你可以解压文件,查看并学习其中的实现...
PK老板一个简单的命令行脚本,使用Elixir通过ssh管理公钥。 它允许您在一个位置管理多台服务器的公钥。安装该脚本需要Elixir。 可以在安装说明设置对于要管理的每个服务器,在pk_boss / auth_keys目录中创建一个文件...
在A机器上生成RSA类型的SSH密钥对,命令为`ssh-keygen -t rsa`,这会创建一个公钥(id_rsa.pub)和一个私钥(id_rsa)。然后,使用`scp`命令将A机器的公钥复制到B机器指定用户的.ssh/authorized_keys文件中,命令...
通过以上分析,可以看出这个Python脚本为用户提供了一个便捷的方式来管理远程服务器的连接信息,并支持自动化登录功能。这不仅提高了工作效率,还减少了人为错误的可能性。对于需要频繁管理多个远程服务器的用户而言...
自动化安装脚本, 自动打通ssh 通道, 设置系统磁盘, 创建租户, 设置系统参数
第一步: 用autossh打通内网控制障碍 树莓派安装autossh,并且生成公钥私钥 sudo apt-get install autossh ssh-keygen ssh-copy-id username@server_ip 新建autossh自启动脚本, chmod a+x autossh 并运行, 脚本的内容...
Windows下的`frp`(Fast Reverse Proxy)正是这样一个工具,它可以帮助用户实现在内网环境中的设备与公网之间的通信。 `frp`是一个高性能的反向代理应用,设计目标是帮助内网服务能够被公网访问。它支持多种协议,...
- **节点间互相打通**:为确保OceanBase能够在不同节点之间高效地传输数据,需要确保所有数据节点之间可以通过SSH免密码登录。 - **HA配置**:对于RootServer和UpdateServer,推荐采用HA配置以增强系统的可用性和...
@#123项目介绍devops 自动化运维平台--一站式满足需求功能点(按顺序实现):CMDBwebssh √用户管理 √日志审计 √远程命令/脚本文件分发 √环境部署代码发布管理数据库管理DNS管理 √权限细分接口管理定时任务管理...