ssh代理脚本

本地访问远程服务器一般有两个方法,一个是通过vpn,另一个是通过跳板机,这里我们讲的是跳板机的方式。

因为跳板机比较重要,不希望研发、测试等人员有跳板机的权限,我们可以在本地找一台linux机器作为代理服务器。 

 1 # cat sshproxy.sh
 2 #!/bin/bash
 3 #建议这个脚本是放在root下通过定时任务执行
 4 #跳板机建议通过秘钥对登录
 5 #秘钥
 6 filename=id_rsa
 7 passphrase=abcd
 8 #跳板机
 9 user=test
10 ip=121.21.22.60
11 port=22
12 
13 cd ·basedir $0·
14 n=`netstat -nlt|grep '0.0.0.0:1080 '|grep -v grep|wc -l`
15 if [ $n -lt 1 ];then
16     eval `ssh-agent`
17 else 
18     exit
19 fi
20 
21 expect << __EOF
22     set timeout 10
23     spawn ssh-add -D
24     expect "*removed."
25     spawn ssh-add -l
26     expect "*identities."
27     spawn ssh-add $filename
28     expect "Enter passphrase*" {send "$passphrase\r";} 
29     expect "Identity added:"
30     interact
31 __EOF
32 
33 if [ $n -eq 0 ];then
34     ssh -f -g -D 1080 $user@$ip -p $port sleep 600000000
35 fi

 

 

  

 

 

posted @ 2020-07-24 16:50  四季流转  阅读(164)  评论(0)    收藏  举报