Linux-Bash&预计 [英] Linux - Bash & Expect

查看:218
本文介绍了Linux-Bash&预计的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望将密钥复制到远程linux盒中.

I use expect to copy my key to remote linux boxes.

copy_key

#!/usr/bin/expect

stty echo 
set REMOTEhost [lindex $argv 0]
set REMOTEpass [lindex $argv 1]

spawn ssh-copy-id -i /home/myuser/mykey.pub root@$REMOTEhost

expect "password: "

send "$REMOTEpass\n"

sleep 2

这是通过./copy_key 1.1.1.1 GENERATED_PASSWORD

我想将所有这些迁移到bash脚本中.

I'd like to migrate all of this to a bash script.

类似以下内容,这当然有所不同,但只是可以帮助您实现一个想法:

Something like the following, which of course is something different but just to help with an idea:

#!/bin/bash
/usr/bin/expect -c 'expect "\n" { eval spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com; interact }'

这不起作用

#!/bin/bash
ssh-copy-id -i /home/myuser/mykey.pub root@$REMOTEhost

我该怎么办?

推荐答案

这将是1:1的bash脚本:

This would be the 1:1 bash script:

#!/bin/bash
stty echo && expect -c "spawn ssh-copy-id -i /home/myuser/mykey.pub root@$1; expect \"password: \"; send \"$2\r\"; sleep 2;"

这篇关于Linux-Bash&预计的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆