论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
云原生
›
搭建一个跳板服务器的全过程
搭建一个跳板服务器的全过程
火影
金牌会员
|
2025-3-8 14:53:49
|
显示全部楼层
|
阅读模式
楼主
主题
976
|
帖子
976
|
积分
2928
一、跳板机的作用
安全访问
:外部用户不能直接访问内部服务器,必须通过跳板机进行毗连。
权限控制
:限定谁可以访问哪些服务器,并进行日记审计。
防止直接袒露
:核心服务器不会直接袒露在公网,降低攻击面。
二、搭建服务器跳板(Jump Server)
本方案基于
Linux(Ubuntu 20.04 / CentOS 7)
搭建 SSH 跳板机,具体步骤如下:
1. 服务器架构
假设情况如下:
跳板机(Jump Server)
:公网 IP 192.168.1.100
目标服务器(Target Server)
:内网 IP 10.0.0.10
客户端(User)
:IP 203.0.113.50
访问流程:
用户先毗连跳板机
(公网 IP)
再从跳板机毗连到内网服务器
(目标服务器)
2. 配置跳板机(Jump Server)
(1)安装 OpenSSH 服务器
在跳板机(Jump Server)上,确保 OpenSSH 服务器已安装:
sudo apt update && sudo apt install -y openssh-server
复制代码
检查 SSH 服务状态:
sudo systemctl status ssh
复制代码
(2)创建跳板机用户
在跳板机上创建专用用户,并设置强暗码:
sudo adduser jumpuser
sudo passwd jumpuser
复制代码
限定 root 登录
:
编辑 /etc/ssh/sshd_config:
PermitRootLogin no
AllowUsers jumpuser
复制代码
然后重启 SSH 服务:
sudo systemctl restart ssh
复制代码
3. 配置 SSH 免密登录
为便捷管理,我们利用 SSH Key 认证来镌汰暗码输入,并进步安全性。
(1)在客户端生成 SSH Key
在
客户端(User)
机器上,生成 SSH 密钥:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/jump_key
复制代码
然后,将公钥拷贝到跳板机:
ssh-copy-id -i ~/.ssh/jump_key.pub jumpuser@192.168.1.100
复制代码
测试是否可以无暗码 SSH 登录:
ssh -i ~/.ssh/jump_key jumpuser@192.168.1.100
复制代码
如果乐成,则表明 SSH Key 认证已精确配置。
(2)从跳板机毗连目标服务器
在
跳板机(Jump Server)
上,配置免密 SSH 登录
目标服务器(10.0.0.10)
:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/jump_key
ssh-copy-id -i ~/.ssh/jump_key.pub user@10.0.0.10
复制代码
然后测试:
ssh -i ~/.ssh/jump_key user@10.0.0.10
复制代码
4. 利用 SSH Proxy 作为跳板
(1)直接通过 SSH 跳板访问目标服务器
在
客户端
上,利用 ProxyJump 直接毗连目标服务器:
ssh -J jumpuser@192.168.1.100 user@10.0.0.10
复制代码
如果不支持 -J,可以利用 ProxyCommand:
ssh -o ProxyCommand="ssh -W %h:%p jumpuser@192.168.1.100" user@10.0.0.10
复制代码
可以将其添加到 ~/.ssh/config 方便管理:
Host target_server
HostName 10.0.0.10
User user
ProxyJump jumpuser@192.168.1.100
IdentityFile ~/.ssh/jump_key
复制代码
然后直接利用:
ssh target_server
复制代码
5. 记载 SSH 登录日记
为了安全审计,我们记载全部效户的 SSH 访问日记。
(1)启用 SSH 登录日记
修改 /etc/rsyslog.conf,确保启用 authpriv 日记:
authpriv.* /var/log/secure
复制代码
然后重启 rsyslog:
sudo systemctl restart rsyslog
复制代码
查看 SSH 登录日记:
sudo tail -f /var/log/auth.log # Ubuntu
sudo tail -f /var/log/secure # CentOS
复制代码
(2)记载用户下令
在 /etc/bash.bashrc 或 /etc/profile 中添加:
export HISTFILE=/var/log/jumpserver_history.log
export PROMPT_COMMAND='history -a'
复制代码
如许,全部 SSH 用户的下令都会记载到 /var/log/jumpserver_history.log。
6. 限定跳板机访问权限
为了增强安全性,我们可以限定跳板机的 SSH 访问举动。
(1)只允许指定用户利用跳板
编辑 /etc/ssh/sshd_config:
AllowUsers jumpuser
复制代码
然后重启 SSH:
sudo systemctl restart ssh
复制代码
(2)利用防火墙限定访问
限定 SSH 只能从特定 IP 登录:
sudo ufw allow from 203.0.113.50 to any port 22
复制代码
如果利用 iptables:
sudo iptables -A INPUT -p tcp --dport 22 -s 203.0.113.50 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
复制代码
(3)启用 Fail2Ban 保护 SSH
sudo apt install fail2ban
sudo systemctl enable fail2ban
复制代码
编辑 /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
bantime = 600
findtime = 300
maxretry = 5
复制代码
然后重启:
sudo systemctl restart fail2ban
复制代码
查看封禁 IP:
sudo fail2ban-client status sshd
复制代码
七、总结
本文介绍了完整的
服务器跳板(Jump Server)
方案,包括:
搭建 SSH 跳板机
配置 SSH Key 免密登录
利用 ProxyJump 访问目标服务器
记载 SSH 登录日记
限定访问权限,增强安全性
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
火影
金牌会员
这个人很懒什么都没写!
楼主热帖
最全Windows98原版系统镜像下载(特点 ...
如何配置 SLO
Linux 基本指令
SAP各模块优缺点和发展简析
Spring(SpringBoot)--解决拦截器中注入 ...
微信小程序+web数据库的开发实践 ...
Spring Security登录表单配置(3) ...
Redis 原理 - String
Kubernetes(k8s)CNI(flannel)网络 ...
用python反弹shell
标签云
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表