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/passwd | wc -l` -gt 1 ]
                        then
                        action "add user ${jumper} success" /bin/true
                else
                        action "add user ${jumper} success failure" /bin/false
                        exit 0
                fi
        su ${jumper} -c "ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa >/dev/null 2>&1"
                if [ $? -eq 0 ]
                        then
                        action "Create ssh pub key success" /bin/true
                else
                        action "Create ssh pub key failure" /bin/false
                fi
}
add_user $*
for n in 7 8
    do
        /usr/bin/expect /server/scripts/fenfa_key.exp /home/${jumper}/.ssh/id_dsa.pub ${jumper} 11.0.0.${n} >/dev/null 2>&1
        if [ $? -eq 0 ]
          then
          action "fenfa ssh pub key to 11.0.0.${n} success" /bin/true
        else
          action "fenfa ssh pub key to 11.0.0.${n} failure" /bin/false
        fi
done
  • expect实现无密码验证
#!/usr/bin/expect
if { $argc != 3 } {
        puts "usage:expect $argv0 sshkey user host"
        exit
}
#define var
set sshkey [lindex $argv 0]
set user [lindex $argv 1]
set host [lindex $argv 2]
set password "123456"
spawn ssh-copy-id -i $sshkey [email protected]$host
expect {
        "yes/no"     {send "yes\r";exp_continue}
        "*password"  {send "$password\r"}
}
expect eof
  • 简单shell脚本实现跳板机
#!/bin/bash
function traper(){
        trap ‘‘ INT QUIT TSTP TERM HUP
}
function menu(){
        cat <<-EOF
================Host List==============
        1)11.0.0.7
        2)10.0.0.8
        3)exit
================Host End===============
        EOF
}
function host(){
USER=test09
        case "$1" in
          1)
            ssh [email protected]
            ;;
          2)
            ssh [email protected]
            ;;
          3)
            exit
            esac
}
function main(){
  while true
    do
        traper
        clear
        menu
        read -p ‘Pls input your choice:‘ num
        host $num
  done
}
main
  • 开机脚本调用跳板机脚本
cat /etc/profile.d/jump.sh 

#!/bin/bash
[ $UID -ne 0 ] && [ $USER != "zihang" ] &&/bin/bash /server/scripts/tiaoban.sh

========================不足之处,请多指教=========================

时间: 2024-10-31 16:25:50

shell 实现跳板机的相关文章

Shell实现跳板机,为什么用跳板机

整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1.     问题 第一.很多大公司的服务器都不允许直接登录,而是通过一个跳板机才能登录过去.在跳板机中,通常只能执行几个少数命令(如SSH),而其他命令是不允许执行的,那么怎样才能实现这个功能呢? 第二.一些小公司,由于服务器比较少,不需要什么跳板机之类的说法,公司的开发运维人员加起来也就那么十几二十人,通常大家都

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

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

用shell开发跳板机

信号列表: 在linux中和信号相关的常见命令为kill及trap命令,下来如何利用trap控制跳板机脚本来使用命令: 命令:kill  -l 和 trap  -l 企业实战中linux系统的重要信号及说明 HUP(1)         挂起 INT(2)           中断 OUIT(3)        退出 ABRT(6)        中止 ALRM(14)     报警 TERM(15)     终止 TSTP(20)       停止进程的运行,但该信号可能被处理或忽略 17.2

简单跳板机的搭建笔记

摘录自  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的跳板机程

Linux下Dialog+Shell三层目录专业规范跳板机脚本

#Dialog+Shell介绍 Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的 #创建脚本目录  [[email protected] ~]# mkdir -p /scripts/tiaoban/{qqandroid,qqios,qqwxandroid,wxios,menu_list} #禁止普通用户登陆 [[email protected] ~]# cat /etc/profile.d/tiaoba

通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

=========================================================== conf : 录入服务器IP.安装路径后,脚本自动获取需要修改配置.每个服务提供一个配置文件,方便管理与扩展. bin : 提供总执行与单一执行脚本,脚本通过自动化获取配置,便于维护与扩展. bak : 保留获取原配置文件,便于问题分析. temp : 临时文件将及时删除无任何冗积. tools: 常用配置与通用文件处理写入统一函数,具体服务只需调用. new : 服务器交互文

shell脚本实现企业级简易跳板机案例

跳板机用途只做ssh中转,为严格控制跳板机数据进出.命令管理等,特对跳板机入口操作进行限制管理.该脚本包含两种界面风格,详见下面说明 . 功能说明: * 屏蔽用户对跳板机系统进行任何未授权操作操作 * 查询用户已授权主机,具备权限用户方可连接后台服务器 * 授权命令集合(密钥生成.上传.copy,密码更改等),可根据实际需求自定义 * 此脚本依赖于LDAP用户管理,如无LDAP服务,可自行定义用户和主机组对应关系即可 界面一:用户授权登陆主机数量不超过20台 通过选择左侧列表序号登陆右侧主机 选

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 j

Linux下trap+shell三层目录专业规范跳板机脚本

跳板机安全防范规划: 跳板机-> 中心机 -> 后端服务器 跳板机:用来做跳板登陆中心机用的 中心机:一般用来做分发用的,用来登陆后端服务器 在内网:一般直接连中心机,然后直接连接后端服务器 在外网:为了安全,一般会先通过普通用户连接跳板机,然后再连接中心机,然后再在中心机连接后端服务器 注意:普通用户是不让登陆到跳板机终端的 三层目录跳板脚本实现功能: 1.通过普通用户连接跳板再直接连接后端服务器 2.ssh+key认证,CRT代理转发功能开启,自别识别用户,无需用户再输入用户名.密码和端口