已停止的网站

mac使用expect登录跳板机后的机器

两个文档

#!/usr/bin/expect -f
#连接文件名字记录
set ip [lindex $argv 0]
catch {spawn ssh 1.1.1.1}## ip地址换成自己的

expect "*Opt>*" {
    send "$ip\r"
}

interact

  上面这个文件是复用ssh连接问题非必需

1、expect文件

#!/usr/bin/expect -f



catch {spawn ssh 1.1.1.1}#跳板机地址,如果要指定端口用户和密码建议在ssh。conf里面配置

expect "*password:*"
send "$pwd\r"
expect "*MFA*" {
        set code [exec sh -c {oathtool --totp -b DdDdDdDd] ##Dd 为MFA的私钥,生成6位数字密码。
        send "$code\r"}

expect "*Opt>*" {
    send "2.2.2.2\r"# 后端机器地址
}

interact

  文件必须

2、ssh.conf文件。配合上一个文件使用

Host 1.1.1.1
  HostName 跳板机
  User  ls-name
  Port 22000
  ProxyCommand nc -x 127.0.0.1:1080 %h %p
#指定了代理端口转发,如果你内网连接是本地可以不指定

Host *## 自动复用ssh
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

  

需要的文件
expect(软件)
oathtool(软件)
DdDdDdDd] ##Dd 为MFA的私钥
vpn连接(是否本地)

 

posted @ 2022-10-09 14:20  kesz  阅读(131)  评论(1编辑  收藏  举报