目录
一:简单登陆跳板器
- 登陆公司提供的网址, 下载自己的专属RSA密钥。
- 在密钥文件处, 执行登陆指令: ssh -p 36000 -i id_rsa 用户@跳板机地址
- 如果出现仍然需要输入密码的操作, 则执行下面的操作。
- 1: 修改密钥权限为700: chmod 700 密钥文件。 (注意不要改成777, 密钥文件不允许其他的用户进行操作)
- 2: 电脑新增可以使用RSA密钥的配置。 cd ~/.ssh && vim config
- 输入:PubkeyAcceptedKeyTypes +ssh-rsa 并保存。
- 最终发现可以登陆跳板机了。
二:一键申请相关的服务器权限
-
背景: 公司要求不得永久线上服务器的永久登陆权限, 只能每天到公司, 然后在界面上申请12小时的登陆权限。 每天填写一堆服务器IP地址, 很麻烦, 因此考虑可以写脚本, 一个命令将本人关联的所有服务器全部申请下来。
-
前提条件:
- 电脑中含有python3环境, 环境中安装browsercookie (pip install browsercookie -i https://pypi.tuna.tsinghua.edu.cn/simple)
-
详细操作:
- 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服务器。