极速跳板机登陆服务器

目录

一:简单登陆跳板器

  • 登陆公司提供的网址, 下载自己的专属RSA密钥。
  • 在密钥文件处, 执行登陆指令: ssh -p 36000 -i id_rsa 用户@跳板机地址
  • 如果出现仍然需要输入密码的操作, 则执行下面的操作。
    • 1: 修改密钥权限为700: chmod 700 密钥文件。 (注意不要改成777, 密钥文件不允许其他的用户进行操作)
    • 2: 电脑新增可以使用RSA密钥的配置。 cd ~/.ssh && vim config
      • 输入:PubkeyAcceptedKeyTypes +ssh-rsa 并保存。
  • 最终发现可以登陆跳板机了。

二:一键申请相关的服务器权限

  • 背景: 公司要求不得永久线上服务器的永久登陆权限, 只能每天到公司, 然后在界面上申请12小时的登陆权限。 每天填写一堆服务器IP地址, 很麻烦, 因此考虑可以写脚本, 一个命令将本人关联的所有服务器全部申请下来。

  • 前提条件:

  • 详细操作:

    • 1: 编写python脚本, 给公司网站发送请求。
    python 复制代码
    	# -*- coding: utf-8 -*-
    # @Author  : HeLei
    # @Time    : 2023/3/17 10:11 AM
    # @File    : login.py
    import browsercookie
    import requests
    import click
    import time
    from requests.packages import urllib3
    urllib3.disable_warnings()
    
    
    chrome_cookie = browsercookie.chrome()
    # for cookie in chrome_cookie:
    #     print(cookie)
    
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
    }
    
    url = "公司请求借口地址URL"
    
    def apply_ip_login(ips):
        req_json = {
            "user": "user_00",
            "ips": ips,
            "action": 31,
            "time": "halfday",
            "remark_type": "下载文件",
            "remark": "X"
        }
        resp = requests.post(url, cookies=chrome_cookie, json=req_json)
    
        try:
            resp_json = resp.json()
            if resp_json["code"] != 0:
                raise Exception("申请权限失败:[]" % resp.content)
            else:
                print("申请成功:\n%s" % req_json["ips"])
        except Exception as e:
            print(resp)
            raise e
    
    
    if __name__ == '__main__':
        # 催收分案线上服务
        apply_ip_login(ips="IP地址\nIP地址")
    • 2: 将执行该脚本的指令变成终端可执行命令。
      • vim ~/.bashrc
      • 新增自己申请脚本路径:alias al="/Users/shanwen.ren/anaconda3/bin/python /Users/shanwen.ren/Desktop/settings/apply_login.py"
      • vim ~/.bash_profile
      • 新增 source ~/.bash_profile
      • vim ~/.zshrc
      • 新增source ~/.bash_profile
      • 执行申请命令, 下面是效果。

三:简化登陆

  • 简单登陆跳板器, 可以看出,登陆的流程复杂, 需要每次执行先执行登陆指令, 然后再在跳板机中输入服务器的IP才能登陆到目标服务器。

  • 如何一键登陆?

    • 编写一个exp文件
    bash 复制代码
    #!/usr/bin/expect
    set ip [lindex $argv 0]
    spawn ssh -i  密钥路径 用户名@登陆地址 -p端口
    
    expect {
        "登陆用户名" {send "$ip\r"}
    }
    interact
    • 将执行该exp指令变成终端可执行命令
      • vim ~/.bashrc
      • 填写自己的命令:alias lg="/usr/local/bin/expect /Users/shanwen.ren/Desktop/settings/login.exp"
      • 直接输入lg 230 即可登陆到230服务器。
相关推荐
用户14010567751912 小时前
线上接口偶发超时,最后发现是 conntrack 打满:一次网络故障排查实战
运维
以太浮标12 小时前
华为eNSP模拟器综合实验之- 主机没有配置缺省网关时,通过路由式Proxy ARP实现通信(arp-proxy enable)
运维·网络·网络协议·华为·智能路由器·信息与通信
REDcker13 小时前
Linux disown命令详解 后台作业脱管与终端退出
linux·运维·chrome
cyber_两只龙宝13 小时前
【Oracle】Oracle之SQL的转换函数和条件表达式
linux·运维·数据库·sql·云原生·oracle
被摘下的星星13 小时前
四层模型TCP/IP协议栈
运维·服务器·网络
努力努力再努力wz13 小时前
【Linux网络系列】深入理解 I/O 多路复用:从 select 痛点到 poll 高并发服务器落地,基于 Poll、智能指针与非阻塞 I/O与线程池手写一个高性能 HTTP 服务器!(附源码)
java·linux·运维·服务器·c语言·c++·python
努力努力再努力wz13 小时前
【Linux网络系列】万字硬核解析网络层核心:IP协议到IP 分片重组、NAT技术及 RIP/OSPF 动态路由全景
java·linux·运维·服务器·数据结构·c++·python
.千余13 小时前
【Linux】基本指令2
linux·运维·服务器
2601_9498158413 小时前
Linux下PostgreSQL-12.0安装部署详细步骤
linux·运维·postgresql
minji...13 小时前
Linux 线程同步与互斥(四) POSIX信号量,基于环形队列的生产者消费者模型
linux·运维·服务器·c语言·开发语言·c++