shell 写登录跳板机

准备3台机器

1.linux-node1  ip:10.89.3.108 (跳板机)

2.weblamp      ip:10.89.3.100

3.weblnmp      ip:10.89.3.101

3台系统环境如下:

[[email protected] ~]$ cat /etc/redhat-release 
CentOS release 6.8 (Final)

1)首先做好SSH密钥验证

在所有的3台机器上执行下面操作

 [[email protected] ~]#useradd jump
 [[email protected] ~]#echo 123456|passwd --stdin jump

在跳板机上执行下面操作,生成密钥。

[[email protected] ~]$ ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa

Generating public/private dsa key pair.

Created directory ‘/home/jump/.ssh‘.

Your identification has been saved in /home/jump/.ssh/id_dsa.

Your public key has been saved in /home/jump/.ssh/id_dsa.pub.

The key fingerprint is:

15:4d:94:d8:a8:0d:e9:d4:e1:70:09:0c:8b:de:2c:96 [email protected]

The key‘s randomart image is:

+--[ DSA 1024]----+

|      .oo++Xo.   |

|     . .=+=.+    |

|    . .o +o      |

|   . +  o..      |

|    E o S        |

|   . .           |

|                 |

|                 |

|                 |

+-----------------+

查看生成的密钥

[[email protected] ~]$ ll /home/jump/.ssh

total 8

-rw------- 1 jump jump 672 Apr 12 09:49 id_dsa

-rw-r--r-- 1 jump jump 618 Apr 12 09:49 id_dsa.pub  (公钥)

将公钥分发到其他2台服务器

[[email protected] ~]$ ssh-copy-id -i ~/.ssh/id_dsa.pub 10.89.3.101

The authenticity of host ‘10.89.3.101 (10.89.3.101)‘ can‘t be established.

RSA key fingerprint is 01:e7:d2:70:fc:a8:1a:ee:88:07:ef:9b:37:40:29:2d.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘10.89.3.101‘ (RSA) to the list of known hosts.

[email protected]‘s password: (此处输入的是jump的密码)

Now try logging into the machine, with "ssh ‘10.89.3.101‘", and check in:

.ssh/authorized_keys

to make sure we haven‘t added extra keys that you weren‘t expecting.

[[email protected] ~]$

2)实现传统的远程连接菜单选择脚本

菜单脚本如下:

cat <<menu

1)weblamp-10.89.3.100

2)weblnmp-10.89.3.101

3)administrator

menu

3)利用linux 信号屏蔽防止用户中断信号在跳板机上操作

function trapper(){

trap ‘:‘ INT EXIT TSTP TERM HUP

}

4)用户登录跳板机后即调用脚本(不能使用命令行管理跳板机),并只能按管理员的要求选单

脚本如下(跳板机上操作)

[[email protected] ~]# cat /etc/profile.d/jump.sh 
[ $UID -ne 0 ] && /server/scripts/jump.sh
[[email protected] ~]# cat /server/scripts/jump.sh
#!/bin/bash
#Alvin training
trapper(){
    trap ‘:‘ INT EXIT TSTP TERM HUP
}

main(){
    while :
    do
    trapper
    clear
    cat <<menu
    1)weblamp-10.89.3.100
    2)weblnmp-10.89.3.101
    3)administrator
menu
    
read -p "Pls input a num.:" num
case "$num" in
   1)
   echo "login in 10.89.3.100"
   ssh 10.89.3.100
   ;;
   2)
   echo "login in 10.89.3.101"
   ssh 10.89.3.101
  ;;
   3)
   stty -echo
   read -p "your privite passwd:" char
    if [ "$char" = "111111" ]; then
    stty echo
    echo "\n"
     exit
     sleep 3
   fi
  ;;
   *)
    echo "select error."
   esac
 done

}

main
[[email protected] ~]# chmod +x /server/scripts/jump.sh
[[email protected] ~]# su - jump
    1)weblamp-10.89.3.100
    2)weblnmp-10.89.3.101
    3)administrator
Pls input a num.:

时间: 2024-10-08 10:03:39

shell 写登录跳板机的相关文章

那就用pthon来写个跳板机吧

1.需求 程序一: 1.后台管理 - 堡垒机上创建用户和密码(堡垒机root封装的类,UserProfile表) - .bashrc /usr/bin/python3 /data/bastion.py exit 2.后台管理 - 服务器上创建用户和密码 或 公钥上传 - 服务器账号 -> 人 关联 程序二: 3.用户登录 - ssh 堡垒机用户名@堡垒机IP - 获取当前用户 os.environ['USER'] - 获取当前用户的主机列表 - 获取选中的主机下的所有用户 - 选择任何一个用户

iTerm 使用expect实现自动远程登录,登录跳板机

#!/usr/bin/expect set timeout 10 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2] expect { "(yes/no)?" {send "yes\n";exp_continue} "password:" {send “<password>\n"} } expect “*<服务器名>*" {se

免token一键登录跳板机或指定机器

配置方式 注意,只在mac下测过 首先配置ssh session clone,保证你新开终端窗口时,跳板机的session在窗口间共享, 以及配置30秒向服务端发一个keep-alive包保持会话不会闲时中断 编辑 ~/.ssh/config 增加如下内容 Host * ControlPath ~/.ssh/master-%[email protected]%h:%p ControlMaster auto ServerAliveInterval 30 其次在 ~/.bashrc 或者 ~/.zs

登录跳板机包含MAC登录方法

原文地址:http://blog.51cto.com/jiazuzhao/2071162

利用Shell开发跳板机功能脚本案例

范例17_6::开发企业级Shell跳板机案例.要求用户登录到跳板机仅能执行管理员给定的选项动作,不允许以任何形式中断脚本到跳板机服务器上执行任何系统命令. 方法1: 1)首先做好SSH密钥验证(跳板机地址192.168.33.128). 以下操作命令在所有机器上操作: [[email protected] ~]# useradd jump  #<==要在所有机器上操作. [[email protected] ~]# echo 123456|passwd --stdin jump  #<==要

【效率工具】SSH一键登录脚本(可一键从跳板机登录线上服务器)

说明 前阵子上线,一次性上了十个服务,一直上到凌晨才完事,期间每个服务都要先输入跳板机的登录信息来登录跳板机,然后再输入线上服务器的信息来登录线上服务器,实在是太过于麻烦,而且有些服务还有好几台服务器,检查问题的时候,服务器跳来跳去的,简直苦不堪言. 于是,便萌发了用shell脚本的方式来一键跳转的想法,先上github上搜了搜现成的轮子,发现都不太好用,要不就是没说明,要不就是只能登一台服务器,不能满足从跳板机A跳转到线上服务器B的需求. 所以,还是自己动手,丰衣足食. Shell脚本 She

Linux生成ssh公钥免密码登录远程主机和Xshell跨跳板机登录

##Linux生成ssh公钥免密码登录远程主机: 1:ssh-keygen -t rsa#生成密钥2:ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]#把本机的公钥追到远程主机172.16.205.117(登录账户hejm)的 ~/.ssh/authorized_keys 里注:如果ssh的端口不是22,可用参数p指定对应端口ssh-copy-id -i ~/.ssh/id_rsa.pub -p 23 [email protected] 或者通

shell 实现跳板机

zbuz添加用户,并批量分发ssh公钥脚本: #!/bin/bash . /etc/init.d/functions function add_user(){         jumper="$1"         useradd ${jumper}         echo 123456 | passwd --stdin ${jumper} >/dev/null 2>&1                 if [ `grep -o $jumper /etc/pas

简单跳板机的搭建笔记

摘录自  https://github.com/LaiJingli/open_bastion_host 环境: CentOS6.7 X86_64 跳板机地址:192.168.2.11 后端服务器地址:192.168.2.12 0.下载跳板机文件 git clone https://github.com/LaiJingli/open_bastion_host.git 1.创建跳板机用户 先创建tianbanji用户及tiaobanji组,只有跳板机组的用户ssh登录时才登录到非shell的跳板机程