yjiang's cake

ssh通过堡垒机做代理,自动登录目标主机

背景

运维不再允许ssh直连目标主机, 要求必须通过堡垒机(jumpserver)来访问.

痛点

之前配置的密钥自动登录失效了;必须每次手动登录堡垒机,然后再登录目标主机.

目标

像以前使用密钥自动登录一样登录目标主机
直接从本地scp文件到目标主机

在开始步骤前,先理解两个命令:

  • ssh-add: 把专用密钥添加到ssh-agent的高速缓存中
  • ssh_config 的 ProxyCommand: 指定连接服务器的命令(详细描述自查)

步骤

1. 实现无密码登录堡垒机

  • 修改 ~/.ssh/config, 指定堡垒机的登录配置, 增加内容如下:
Host jumpserver
    Hostname <jumpserver ip>
    Port <jumpserver port>
    User <jumpserver username>
    IdentityFile <jumpserver private key>
  • 将堡垒机私钥加入ssh-agent
ssh-add <jumpserver private key>
#提示输入密钥的密码时,输入后确认

2. 像原来无密码登录目标主机一样, 将公钥加入~/.ssh/authorized_keys

无密码登录不在赘述,请自查

3. 配置堡垒机做代理,登录目标主机; 打开 ~/.ssh/config,增加内容如下

host <target host alias>
    Hostname <jumpserver ip>
    Port <jumpserver host>
    User <jumpserver username>
    ProxyCommand ssh <jumpserver username>@<target ip> -W %h:%p

4. 直接使用

ssh <target host alias>
scp <source file> <target host alias>:~/

tips:

堡垒机登陆以后, 直接在堡垒机上创建本机用户无密码登录localhost, ssh -NL 2222:localhost:22 localhost;

把之前的22端口转发到2222端口, 以后使用 2222 端口登陆, 就绕过堡垒机了

bash的四种模式

这篇文章是因为这样的问题而来的:

本地从源装了php,命令可以直接使用

    which php
    $ /usr/local/bin/php

服务器是指定目录编译后使用alias引入的

    which php
    $ alias php='/opt/php56/bin/php'

可以看出,是因为php没有放入命令目录导致的,要达到效果需要了解bash的四种模式.

bash的四种模式及环境变量的加载

1. interactive-login shell 交互式登录shell

  1. /etc/profile 加载系统配置
  2. ~/.bash_profile ~/.bash_login ~/.profile 按顺序查找这三个个人配置文件,如果执行成功其中一个则返回(三个中只会有一个被执行)

2. non_interactive-login shell 非交互式登录shell

  1. 同 1

3. interactive-non_login shell 交互式非登录shell

  1. /etc/bash.bashrc
  2. ~/.bashrc

2. non_interactive-login shell 非交互式登录shell

  1. export BASH_ENV=~/.bashrc #找到bashrc则加载

从以上四种状态可以看出,我们需要的是 3 这种方式, 通过 man bash可以找到 -i参数可实现.

#!/bin/bash -i
php -v

在实际应用中, 使用bash -ic命令调用时,会导致频繁报 no job control in this shell错误.

linux下快速创建wifi热点

https://github.com/oblique/create_ap

快速创建热点

# create_ap wlan0 internet0 MyAccessPoint MyPassPhrase

无线局域网很慢

可能由低熵值造成。 考虑安装 haveged) 试试

扩展模式

请参考作者说明

aria2 启动配置

配置文件


    disable-ipv6=true
    #允许RPC
    enable-rpc=true
    #允许所有来源, web界面跨域权限需要
    rpc-allow-origin-all=true
    #允许非外部访问
    rpc-listen-all=true
    #最大同时下载数
    max-concurrent-downloads=5
    #存放目录
    dir=/home/share/downloads/
    #会话
    input-file=/var/www/webui-aria2/session/aria2.session
    save-session=/var/www/webui-aria2/session/aria2.session
    #token
    rpc-secret=fuckleju

dig使用指定dns进行查询

 dig @<ip> <domain>
 #dig 8.8.8.8 yjiang.cn

Copyright © 2016 yjiang's cake

返回顶部