`
Goldice
  • 浏览: 107794 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

分享一个ssh打通的脚本

阅读更多

分享一个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}
}
1
2
分享到:
评论
2 楼 Goldice 2011-10-15  
fuliang 写道
直接ssh-copy-id不就ok了?

是的。你的整个命令更简单。我以前没用过,呵呵。
1 楼 fuliang 2011-10-14  
直接ssh-copy-id不就ok了?

相关推荐

    批量打通SSH脚本

    在提供的压缩包文件中,"批量打通ssh脚本"很可能是这样一个结合了`expect`和`python`功能的脚本,具体实现可能因需求而异,但其核心思想是利用这两个工具自动化SSH连接流程。你可以解压文件,查看并学习其中的实现...

    PK_Boss:一个简单的命令行脚本,用于通过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登录远程服务器的小工具(实例)

    通过以上分析,可以看出这个Python脚本为用户提供了一个便捷的方式来管理远程服务器的连接信息,并支持自动化登录功能。这不仅提高了工作效率,还减少了人为错误的可能性。对于需要频繁管理多个远程服务器的用户而言...

    oceanbase 自动化安装脚本集

    自动化安装脚本, 自动打通ssh 通道, 设置系统磁盘, 创建租户, 设置系统参数

    毕业设计-基于树莓派的寝室小监控系统(Python).zip

    第一步: 用autossh打通内网控制障碍 树莓派安装autossh,并且生成公钥私钥 sudo apt-get install autossh ssh-keygen ssh-copy-id username@server_ip 新建autossh自启动脚本, chmod a+x autossh 并运行, 脚本的内容...

    Windows下frp实现内网穿透 frp_0.38.0_windows_amd64_386.rar

    Windows下的`frp`(Fast Reverse Proxy)正是这样一个工具,它可以帮助用户实现在内网环境中的设备与公网之间的通信。 `frp`是一个高性能的反向代理应用,设计目标是帮助内网服务能够被公网访问。它支持多种协议,...

    OceanBase部署文档.docx

    - **节点间互相打通**:为确保OceanBase能够在不同节点之间高效地传输数据,需要确保所有数据节点之间可以通过SSH免密码登录。 - **HA配置**:对于RootServer和UpdateServer,推荐采用HA配置以增强系统的可用性和...

    devops:基于saltstack的自动化运维平台:CMDB、CICD、DevOps、资产管理、系统监控、运维管理、配置管理(持续更新中)

    @#123项目介绍devops 自动化运维平台--一站式满足需求功能点(按顺序实现):CMDBwebssh √用户管理 √日志审计 √远程命令/脚本文件分发 √环境部署代码发布管理数据库管理DNS管理 √权限细分接口管理定时任务管理...

Global site tag (gtag.js) - Google Analytics