python 跳板机登录脚本

这里有个功能没能实现,就是让人员自己输入密码,交互式的。传入密码进来,而不是在这里定义好。

还望指点。想在python这里实现交互让用户输入MySQL的密码

passwd = ‘123.com‘
logou_flag = False
for i in range(3):
    user_input = raw_input("Please input your passwd:").strip()
    if len(user_input) ==0:continue
    if user_input == passwd:
        while True:
            print "welcome login!"
            user_choice = raw_input("""
            1.hadoop-2
            2.hadoop-3
            3.exit
            """).strip()
            user_choice = int(user_choice)
            if user_choice == 1:
                print "ssh [email protected]"
            if user_choice == 2:
                print "ssh [email protected]"
            if user_choice == 3:
                logou_flag = True
                break
    if logou_flag:
        print "going to logout"
        break
    print "-----going to do something else....."

用shell方式实现:

[[email protected] ~]# cat /mnt/shell/denglv.sh 
#! /bin/bash
#hexudong  345078833
function trapper(){
        trap ‘‘ INT QUIT TSTP TERM HUP  
}
function menu(){
        cat <<-EOF
==============Host List================
        1)hz-mgdb-01
        2)hz-mgdb-02
        3)hz-rds-01
        4)hz-rds-02
        5)hz-web-01--die
        6)hz-web-02--die
        7)mysql
        9)hz-web-03
       10)hz-web-04
        8)exit
=======================================
        EOF
}
function host(){
        case "$1" in
          1)
            ssh [email protected]
            ;;
          2)
            ssh [email protected]
            ;;
          3)
            ssh [email protected]
            ;;
          4)
            ssh [email protected]
            ;;
          5)
            ssh [email protected]
            ;;
          6)
            ssh [email protected]
            ;;
          7)
            mysql -h 账户 -u 用户名-p$2
            ;;
          9)
            ssh [email protected]
            ;;
          10)
            ssh [email protected]
            ;;
          8|*)
            exit
        esac
}
function main(){
        while true
          do
            trapper
            clear
            menu
            read -p "please select:" num passwd
            host $num $passwd
        done
}
main

现在使用的python,还有待完善,欢迎帮我完善

[[email protected] ~]# cat /mnt/shell/denglv.py 
#!/usr/bin/evn python
import os
passwd = ‘123.com‘
logou_flag = False
for i in range(3):
    user_input = raw_input("""Please input your passwd:
No password,Please quit!!!
Or Looking for xudong   :""").strip()
    if len(user_input) ==0:continue
    if user_input == passwd:
        while True:
            print "welcome login!"
            user_choice = raw_input("""
                1.hz-mgdb-01
                2.hz-mgdb-02
                3.hz-rds-01
                4.hz-rds-02
                5.hz-web-03
                6.hz-web-04
                7.mysql
                8.exit
            """).strip()
            user_choice = int(user_choice)
            if user_choice == 1:
                os.system(‘ssh [email protected]‘)
            if user_choice == 2:
                os.system(‘ssh [email protected]‘)
            if user_choice == 3:
                os.system(‘ssh [email protected]‘)
            if user_choice == 4:
                os.system(‘ssh [email protected]‘)
            if user_choice == 5:
                os.system(‘ssh [email protected]‘)
            if user_choice == 6:
                os.system(‘ssh [email protected]‘)
            if user_choice == 7:
                os.system(‘mysql -h"保密" -u"保密" -p -A‘)
            if user_choice == 8:
                logou_flag = True
                break
    if logou_flag:
        print "going to logout"
        break
    print "-----going to do something else....."
时间: 2024-11-08 03:23:31

python 跳板机登录脚本的相关文章

Python:跳板机审计服务器

1.修改paramiko源码包实现 https://github.com/paramiko/paramiko/tree/1.10.1 下载源码包 unzip paramiko-1.10.1.zip paramiko/demos/demo.py 模拟用户登录,在demo.py中会调用interactive.py paramiko/demos/interactive.py 会把用户执行的命令以及服务器返回的结果打印出来 修改interactive.py,可以把用户名.执行的命令.时间.主机ip记录到

python 跳板机日志审计系统

下载安装Ajaxterm 创建一个新用户 这里我建了一个ip.txt文件存放ip地址 su - HaojieMao vi term__ssh.py 代码如下: #! /usr/bin/env python import os ip_file = 'ip.txt' ip_dic = {} num = 0 f = file(ip_file) while True: num += 1 line = f.readline() if len(line) == 0:break ip_dic[num] = l

python 跳板机程序

[[email protected] ~]# cat /home/python/term_console.py #!/usr/bin/env python import os ip_file = 'ip.txt' log_file = "/home/python/a.txt" ip_dic = {} num = 0 f = file(ip_file) while True:     num += 1     line = f.readline()     if len(line) ==

运维堡垒机(跳板机)系统 python

相信各位对堡垒机(跳板机)不陌生,为了保证服务器安全,前面加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有 身份认证,授权,访问控制,审计等功能,笔者用Python基本实现了上述功能. AD:2014WOT全球软件技术峰会北京站 课程视频发布 11月21日-22日 与WOT技术大会相约深圳 现在抢票 相信各位对堡垒机(跳板机)不陌生,为了保证服务器安全,前面加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有 身份认证,授权,访问控制,审计等功能,笔者用Python基本实现了

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

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

开源运维跳板机jumpserver安装

Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开源,GPL授权 Python编写,容易再次开发 实现了跳板机基本功能,认证.授权.审计 集成了Ansible,批量命令等 支持WebTerminal Bootstrap编写,界面美观 自动收集硬件信息 录像回放 命令搜索 实时监控 批量上传下载 实验环境 centos6.5_x64 实验软件 epel-release-6-8.noarc

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] 或者通

那就用pthon来写个跳板机吧

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

开源jumpserver 跳板机搭建

准备环境 关闭服务器的防火墙 [[email protected] ~]# /etc/init.d/iptables stop [[email protected] ~]# /etc/init.d/iptables status iptables: Firewall is not running. 2.关闭selinux强制访问控制系统 [[email protected] ~]# cp /etc/selinux/config /etc/selinux/config.sourec.bak [[e