一、什么是跳板机
跳板机(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/是文件需要存储的目录。