ssh脚本连接远程服务器

ssh脚本连接远程服务器

使用Mac电脑连接远程服务器,我们主要使用的是shell+expect的方式连接,具体语法可以找资料学习。

连接方式:

ipContext    (ip文件,编写ip、password、user、port等信息)
read.sh       (shell脚本文件,用来读取写入的ip文件)
connection.sh (expect脚本文件,用来连接ip)

该方式连接不同的ip时只需要编写不同的ip文件即可

ip文件

username
ip
密码

shell脚本如下:

#!/bin/bash
filename=$1
if test -z "$filename"
then
  echo "error: 请输入文件名"
  exit 1
fi

arr=()
i=0
for line in $(cat $filename)
do
  arr[i]=$line
  i=`expr $i + 1`
done
user=${arr[0]}
ip=${arr[1]}
passwd=${arr[2]}

echo "connectiong..."

expect -f connection.sh $user $ip $passwd

exit

expect脚本

#!/usr/bin/expect
set timeout 10
set user [ lindex $argv 0 ]
set ip [ lindex $argv 1 ]
set passwd [ lindex $argv 2 ]
spawn ssh $user@$ip
expect {
   "(yes/no)?" { send "yes\r";exp_continue }
   "password:" {send -- $passwd\r"}
}
interact

使用方式

sh read.sh ipContext

注意:

expect文件内的interact可以改为expect eof 根据个人习惯

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值