一、了解跳板机

 跳板机Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一。

跳板机是网络中容易受到侵害的主机,所以跳板机也必须是自身保护完善的主机。通常至少配备两块网卡设备,分别具备不同的网络连接。一个连接外网,用以对目标服务器的远程登录及维护;另一个则连接内网,便于内部网络的管理、控制和保护,通过网关服务提供从私网到公网,或从公网到私网的特殊协议路由服务。

二、简单的跳板机实现

1.要求

  • 跳板机上为每个开发人员创建一个账号,并且只能在指定的目录里管理自己的文件。
  • 线上生产服务器,禁止使用root用户远程登录。
  • 线上生产服务器sshd服务不允许使用默认端口,防止黑客通过端口扫描。
  • 线上生产服务器上开发人员使用的账号code用户的密码使用工具随机生成。

2.分析

  • 在跳板机上为开发人员创建账号
  • 公共目录需要有高级权限
  • 禁止root用户远程登录系统
  • 更改ssh协议的端口号
  • 内网环境下安装软件

3.拓扑图

4.环境的介绍

  • PC为本机,已禁用VMware网卡1,本机IP为192.168.39.39/2

  • Jump-server为centos6虚拟机,安装两块网卡,ip分别为192.168.189.132/24; 1192.168.189.132/24,跳板机能够ping通PC和Service

  • service为Centos6虚拟机,安装一块网卡,IP为192.168.189.128

  • 目前PC端无法连接192.168.189.0/24网段的所有IP

  • 两个Centos均安装openssh-client和openssh-service

5.实验具体步骤

(1)创建用户并增加相应权限

[root@jiangfeng1 ~]# groupadd coding
[root@jiangfeng1 ~]# useradd -G coding code1
[root@jiangfeng1 ~]# useradd -G coding code2
[root@jiangfeng1 ~]# echo 123456 | passwd --stdin code1#更改用户 code1 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@jiangfeng1 ~]# echo 123456 | passwd --stdin code2#更改用户 code2 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@jiangfeng1 ~]# mkdir -p /code/data
[root@jiangfeng1 ~]# chown :coding /code/data/
[root@jiangfeng1 ~]# chmod 1770 /code/data/
[root@jiangfeng1 ~]# ll -d /code/data/
drwxrwx--T 2 root coding 4096 7月  20 03:33 /code/data/

(2)禁止root远程登录和更改默认端口号

在Service端更改ssh服务的配置文件, vi /etc/ssh/sshd-config。

注:尽量不要更改配置文件注释的信息,如若需要更改,先复制一行在进行更改。

(3)用户密码随机

因为我的service端为仅主机模式,所以无法连接互联网,所以我需要在Jump-service缓存下安装包,在通过scp发送到service端。

[root@jiangfeng1 network-scripts]# yum install pwgen
…………
已安装:pwgen.x86_64 0:2.08-1.el6                                                                                                       完毕!
[root@jiangfeng1 6]# scp -P 10001 /var/cache/yum/x86_64/6/epel/packages/pwgen-2.08-1.el6.x86_64.rpm code@192.168.189.128:/tmp
The authenticity of host '[192.168.189.128]:10001 ([192.168.189.128]:10001)' can't be established.
RSA key fingerprint is df:28:9d:09:a3:bf:52:a6:e5:ce:f2:a4:04:0d:b8:cc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.189.128]:10001' (RSA) to the list of known hosts.
code@192.168.189.128's password:
pwgen-2.08-1.el6.x86_64.rpm                                                                     100%   25KB  24.5KB/s   00:
[root@jiangfeng1 6]# pwgen -cnsB1 15 1
ajxmHfcUaT4Azht
[root@jiangfeng1 6]# echo ajxmHfcUaT4Azht | passwd --stdin code

(4)测试

1.从PC端直接连接service

无法连接service。

2.从PC端通过Jump-service远程service

验证成功!!!

三、利用XShell隧道通过跳板机连接内网机器

这里先重新假设一下服务器情况,因为在企业里面内网环境和线上环境肯定不在一个网段的。这里假设跳板机地址:220.101.5.5,内网服务器两台:192.168.100.5 192.168.100.6。SSH开放端口都假设为22,通常就是22。

1.首先建立跳板机的连接,并配置隧道。打开XShell点击文件菜单再点击新建弹出新建会话属性窗口,名称就取为跳板机,端口是22,主机填写前面假设的ip地址。如下图所示:

2.点击用户身份验证,填写登录跳板机的SSH用户名和密码如下图所示:

3.为防止跳板机连接过久自动断开,所以这里添加登录脚本直接发送top命令。点击登录脚本,勾选上执行以下等待并发送规则,点击添加弹出等待发送规则添加窗口,在发送框填写top。具体配置看图

4.接下来继续配置连接内网服务器的隧道,点击隧道再点击添加按钮进入隧道添加页面,源主机为本机localhost,侦听端口可以在有效范围内随便填写,这里为了区分连接内网哪台服务器,所以用内网服务器ip最后一位加22即522作为侦听端口。目标主机就是我们要通过跳板机访问的内网主机,端口是22。同样的操作再配置一个连接192.168.100.6的隧道,端口不能与522冲突,按刚才的规则可以用622端口。具体配置如下图:

5.到此跳板机的配置已经完成了,下面来建立通过跳板机登录内网服务器的连接会话,首先还是进入新建会话属性窗口,注意一下这次的配置,主机为localhost,侦听端口为刚才的522,即这个配置连接之后是访问内网的192.168.100.5服务器,再配置一下用户身份验证,填写内网服务器的账号和密码,可以再添加一下登录脚本,直接发送进入日志服务器的命令,比如:cd /tmp/logs/xxx这样每次一连接上就进入日志目录。这样一台内网服务器的连接配置就完成了,同样的操作再配置192.168.100.6的连接,端口为622。具体如下图:

6.到此跳板机、隧道及内网的两台服务器连接都配置完成了。下面就该测试连接了,先打开跳板机的连接,再打开两台内网服务器的连接,若正常连接上就配置正确了。特别注意:跳板机一定要先打开,因为内网服务器的连接都是基于跳板机的侦听端口。如下图所示

什么是跳板机?XShell如何通过跳板机连接内网机器?相关推荐

  1. 如何利用XShell隧道通过跳板机连接内网机器

    在服务器众多的企业里,通常运维会把某台机器开放外网访问权限,其他服务器通过该机器进行访问,该机器通常称之为跳板机.开发人员可以通过SSH工具访问服务器,进行日志查看.问题排查等等. 这里先假设一下服务 ...

  2. 使用XShell通过Linux跳板机连接内网服务器

    说明 最近在维护一个项目,一共有两台Linux服务器,内网相连,用途不同.仅服务器A有外网地址,要求通过服务器A维护服务器B的项目. 服务器A外网地址:220.178.21.57,内网地址:192.1 ...

  3. python通过跳板机连接服务器_使用pycharm、跳板机连接内网服务器

    使用pycharm.跳板机连接内网服务器 接手实验室服务器后,大部分同学在GPU集群上跑程序都是直接在ssh界面上跑,这里想着通过pycharm通过跳板机来连接服务器. 总体就是实验室服务器仅限内网访 ...

  4. CentOS 6.9下的iptables在本机用DNAT转发指定IP到内网IP无效的问题解决(127.0.0.1)

    CentOS 6.9下的iptables在本机用DNAT转发指定IP到内网IP无效的问题解决(127.0.0.1) 参考文章: (1)CentOS 6.9下的iptables在本机用DNAT转发指定I ...

  5. Android模拟器或者真机无法连接内网的解决方案(当需要修改hosts的时候)

    不管测试机还是模拟器,访问不到内网地址时,很可能是电脑上修改hosts了,但是模拟器和测试机没有修改hosts. 模拟器修改hosts 使用adb命令修改hosts: 1.先root. 执行命令: a ...

  6. 【vscode】ssh通过跳板机连接内网服务器

    以防自己忘记.. 跟着下面的步骤 step 1 本地生成密钥 生成自己电脑的公钥和私钥 ssh-keygen -t ed25519 会跳出几个步骤,第一个是指定路径用的,可以直接回车:后两个步骤是设置 ...

  7. 堡垒机拓扑图_通过堡垒机连接内网服务器

    堡垒机简要说明: * 真正的服务器不允许 ssh 直接连接,需要通过堡垒机进行连接 * 堡垒机只允许建立隧道,不能登录系统 * 连接真实服务器的网络拓扑: 1. SSH Client -> Ca ...

  8. 使用跳板机在Pycharm上配置内网服务器

    使用跳板机在Pycharm 上使用内网服务器环境 ​ 最近遇到一个问题:实验室服务器仅限内网访问,无法在家(外网)访问实验室的所有内部服务器,但同时实验室又提供了一个外网可以访问的跳板机,虽然可以先s ...

  9. 内网机无法ping通外网机

    **内网机无法ping通外网机** 叙述:出差人员想通过外网连接公司内网服务器,公司内部通过TP-Link路由开启vpn服务,使用一台PC做中转内网机(双网口).一端连接外网192网段,一端连接内网服 ...

最新文章

  1. 【Android】EditText的一个问题
  2. python期末大作业_大一期末考试很重要,考得好不仅有机会有钱拿,还有机会换专业...
  3. php开启filtervar_PHP函数filter_var的使用
  4. android的四大组件及使用场景,Android/四大组件/Activity.md · BoraxZYF/AndroidInterview - Gitee.com...
  5. S5PV210-uboot移植-从三星官方uboot开始移植
  6. Word2013 设置默认缩进
  7. 细数那些年ZStack拿过奖的案例
  8. 张量分解在无线通信和MIMO雷达中的概述
  9. linux中红帽系统下载地址,Redhat8.3系统下载
  10. logit回归模型假设_logistic回归模型分析
  11. leetcode刷题笔记(1-10)持续更新中
  12. minecraft_如何轻松地在Minecraft版本之间切换
  13. java中reject方法作用_Promise.all中对于reject的处理方法
  14. siri 语义识别_如何查看使用Siri识别的歌曲列表
  15. java毕业设计成品源码网站基于javaWeb停车场车辆管理系统的设计与实现|车位
  16. linux系统 opt扩容,扩容Linux系统的逻辑分区
  17. 2.数据类型--数值类型
  18. IC设计中节省静态功耗和动态功耗的方法
  19. 牛客错题集C++(一)
  20. Feelings On Life II

热门文章

  1. IOS xcode使用自带模板Tab bar Controller创建主页
  2. 量化巅峰对决,“华鑫杯”京东量化大赛等你来!
  3. 软件测试基础知识-正交表
  4. Fundebug-实时监控网页应用的错误插件
  5. 关于学习密码学知识的一些基础知识( trapdoor function)
  6. SQL语言——DDL
  7. 提高blog访问量的秘技与非秘技
  8. 【2019秋冬】【剑指offer】旋转数组的最小数字
  9. stm32f103c8t6各个引脚定义
  10. c++实验三-个人所得税计算器