简单跳板机的搭建笔记

简介:

环境:

    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的跳板机程序

useradd tiaobanji

usermod -s /sbin/nologin tiaobanji   # 安全起见不允许tiaobanji用户登录系统

 

然后,通过本项目自带的add_user.sh来创建跳板机用户,脚本内容如下:

#!/bin/bash

###一键添加跳板机用户,并初始化用户,批量添加多个用户时,多个用户之间以空格分隔

###coding by laijingli2006@126.com at 20151019

 

#users=""

users="devops"    # 这里是我自己修改的,这个脚本可以改成传用户名参数的脚本

user_group=tiaobanji

default_pass='123amdamd'

for user in $users ; do

    echo $user;useradd $user

    echo $default_pass|passwd --stdin $user

    # chage -d 0 $user   作者强制用户登录修改密码,这里被我注释掉了,当然最好还是不要注释掉这行代码,强制用户首次登录就要修改密码。

    usermod -G $user_group $user

done

 

执行 sh add_user.sh 即可添加一个devops的账户


2、设置跳板机用户登录后直接进入跳板机程序而非shell

/etc/profile文件最后追加如下内容

id -nG|grep tiaobanji >/dev/null

user_in_tiaobanji_group=$?

if [ $user_in_tiaobanji_group = 0 ];then

     shell_script_path=/backup/devops/devops/tiaobanji/tiaobanji.sh

     log_file_name=/backup/log/$(whoami)_screen_tiaobanji_$(date +%Y%m%d%H%M%S)

     exec /usr/bin/script -q -t -c"$shell_script_path" 2>$log_file_name.date  -a  -f$log_file_name.log

fi

 

source/etc/profile


脚本的作用是,当发现用户组是tiaobanji的时候,修改他默认的shell界面,使用tiaobanji.sh来接管。


3、修改tiaobanji.sh

vi tiaobanji.sh

wKioL1gMq7qhbhG6AAAarRZZFg4906.png


修改下ssh连接的服务器地址段,作者给出的例子是192.168.100网段的,我这里用的是192.168.2.X网段的,因此需要修改下脚本里的参数配置。


4、创建相关目录

mkdir -p /backup/log

mkdir -p /backup/devops/devops/tiaobanji

mv tiaobanji.sh /backup/devops/devops/tiaobanji

chmod 777 /backup/log/ -R

 

5、尝试登录

现在我们可以使用第一步创建的devops来登录跳板机。

ssh devops@192.168.2.11

登录到跳板机后,如下图所示:

wKioL1gMsYewOrBhAAA86N6cm9c997.png


根据提示输入IP的最后一段,然后输入用户名。即可登录。(通常服务器上是采用秘钥登录,有时候还会要输入秘钥的密码)

 

6、操作回放的功能

如果没有/usr/bin/scriptreplay 这个文件的话,需要安装下 yum install  util-linux-ng

 

上一步中,我们在跳板机上通过ssh登录到192.168.2.12,随意执行几条命令,然后退出192.168.2.12

然后到跳板机的/backup/log/ 目录下。可以看到一堆 .date .log的文件。

cd/backup/log/

scriptreplay devops_screen_tiaobanji_20161023193658.date devops_screen_tiaobanji_20161023193658.log 2

格式: scriptreplay time log 回放速率(大于1快进,小于1慢放,等于1正常播放)

 


7、跳板机的安全措施

  • 修改默认ssh端口号,限制访问ssh访问的IP(只允许公司的IP访问)

  • 禁用密码登录

  • 只允许跳板机组里的用户登录到跳板机

  • 跳板机ip段与业务ip段分离

  • 建议对跳板机高可用(搞2台跳板机)


8、其他注意点

上面的操作,只适合演示环境下使用密码登录的情况。

线上环境通常都是使用秘钥登录的,秘钥登录的话,我们还需要做如下操作:

 

cd/home/devops/    # 这是我们新建账户的目录

mkdir .ssh && cd .ssh/

ssh-keygen -t rsa -f ./id_rsa

touch authorized_keys

chmod 644 authorized_keys

chmod 700 ../.ssh/

chown devops.devops ../.ssh/ -R

 

然后,还要把devopsid_rsa.pub这个公钥文件添加个各个主机上(这个可以使用salt来批量添加)

 

当然,最后别忘了要用xshell生成一对秘钥,然后把公钥追加到/home/devops/authorized_keys里面,不然devops就无法远程登录了。

 

 











本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1864793,如需转载请自行联系原作者
目录
相关文章
|
网络协议 Ubuntu 网络安全
如何搭建 Jump Server
搭建 Jump Server(跳板服务器)是为了安全地管理远程服务器,通常通过 SSH 连接。
1097 0
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT 和文心一言哪个更好用?
ChatGPT 和文心一言哪个更好用?
567 1
|
6月前
|
人工智能 运维 API
2026年OpenClaw(Clawdbot)安装保姆级教程+阿里云百炼 API 配置超详细步骤
OpenClaw(原Clawdbot/Moltbot)作为轻量化AI自动化代理工具,其核心能力依赖大模型的自然语言理解与指令执行能力,而阿里云百炼大模型凭借稳定的调用性能、丰富的模型生态和本土化适配优势,成为OpenClaw的首选AI能力底座。2026年阿里云推出OpenClaw一键部署方案,大幅降低了工具落地门槛,但百炼API的配置仍是新手容易出错的核心环节。本文将完整拆解阿里云OpenClaw一键部署全流程,并从API申请、权限配置、参数调优、故障排查四个维度,给出超详细的百炼API配置指南,包含实操代码命令与避坑技巧,确保新手也能一次性完成部署与配置。
2905 9
|
存储 缓存 Python
如何使用Python抓取PDF文件并自动下载到本地
如何使用Python抓取PDF文件并自动下载到本地
2116 0
|
缓存 API 区块链
ccxt中文教程
CCXT官方教程中文版由汇智网翻译整理,访问地址:http://cw.hubwiz.com/card/c/ccxt-dev-manual/。 CCXT是一个JavaScript / Python / PHP 开发库,用于数字货币的交易与电子商务,支持众多的比特币/以太币/山寨币交易市场和商户API。
10629 2
|
11月前
|
人工智能 监控 关系型数据库
5 分钟 SAE 极速部署 Dify,赢取户外折叠椅和社区积分
Dify.ai开源后,全球开发者已构建超2.3万个AI应用。阿里云Serverless应用引擎(SAE)提供一键部署Dify方案,支持秒级伸缩与高可用部署,降低运维成本。现部署测试环境可赢取礼品。
5 分钟 SAE 极速部署 Dify,赢取户外折叠椅和社区积分
|
数据可视化 数据挖掘
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码1
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
存储 网络协议 安全
如何在 Linux 中禁用 IPv6?
【7月更文挑战第23天】
1126 1
如何在 Linux 中禁用 IPv6?
|
安全 Linux 测试技术
Kali Linux渗透测试教程:解锁黑客之门
Kali Linux渗透测试教程:解锁黑客之门
1680 3
|
决策智能 Python
"携手并进,共创未来:多角色Agent协同作战,如何以智能融合的力量高效征服复杂任务新挑战!"
【8月更文挑战第21天】多Agent系统集结多个智能体,通过角色分配、通信与冲突解决等机制高效协作,完成复杂任务。智能体根据各自能力和任务需求扮演不同角色,通过有效沟通及任务分解,实现资源优化配置与目标协同达成,展现出高灵活性与适应性。
1313 0