您的位置:

跳板机的搭建及使用

一、什么是跳板机

跳板机(Jump Server),也叫堡垒机、跳转机、中转机,是指在一台网络通过跳板机可以访问无法直接访问的另一台网络上的服务器。跳板机可以提升网络的安全性,同时也可以提高跨网络的访问效率。

跳板机一般为一台可信赖的服务器,通过远程桌面协议(RDP)等远程登录方式,将其它网络中的服务器的操作集中在一个位置管理,同时通过代理方式,为用户提供透明的远程登录服务。

二、跳板机的搭建流程

1. 环境介绍

本文以CentOS 7系统为例子,使用OpenSSH来实现跳板机的搭建。

2. 安装OpenSSH

使用yum命令安装OpenSSH:

yum install openssh-server -y

3. 配置sshd_config文件

编辑/etc/ssh/sshd_config文件:

vi /etc/ssh/sshd_config

设置以下配置信息:

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/libexec/openssh/sftp-server
UsePAM yes

Match User myuser
    PasswordAuthentication no
    AuthenticationMethods publickey

注:其中myuser为具体的用户名,以上配置只允许使用公钥身份认证方式登录。

4. 创建用户

使用用户密码登录跳板机会存在密码泄露的风险,所以推荐使用密钥对来访问跳板机。

首先需要新建一个用户,并设置密码:

adduser myuser
passwd myuser

5. 创建密钥对

在本地生成密钥对,并将公钥上传到跳板机上:

ssh-keygen -t rsa
ssh-copy-id myuser@your-jump-server-ip

注:your-jump-server-ip为跳板机的IP地址。

6. 启动跳板机服务

启动sshd服务并设置开机自动启动:

systemctl start sshd
systemctl enable sshd

三、跳板机的使用

1. 登录跳板机

使用ssh命令登录跳板机:

ssh myuser@your-jump-server-ip

注:your-jump-server-ip为跳板机的IP地址。

2. 登录目标机器

从跳板机登录目标机器,需要先在目标机器上设置SSH公钥:

cat ~/.ssh/id_rsa.pub | ssh user@your-target-server-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

注:其中user为目标机器的用户名,your-target-server-ip为目标机器的IP地址。

然后使用ssh命令登录目标机器:

ssh user@your-target-server-ip

注:其中user为目标机器的用户名,your-target-server-ip为目标机器的IP地址。

3. 通过SCP复制文件

从跳板机复制文件到目标机器:

scp file.txt user@your-target-server-ip:/path/to/directory/

注:其中file.txt是需要传输的文件,user为目标机器的用户名,your-target-server-ip为目标机器的IP地址,/path/to/directory/是文件需要存储的目录。

从目标机器复制文件到跳板机:

scp user@your-target-server-ip:/path/to/file.txt /path/to/directory/

注:其中user为目标机器的用户名,your-target-server-ip为目标机器的IP地址,/path/to/file.txt是需要传输的文件,/path/to/directory/是文件需要存储的目录。