菜鸟科技网

Linux跳转服务器命令有哪些常用操作?

在Linux系统中,跳转服务器(也常被称为“跳板机”或“中间服务器”)是运维工作中常见的工具,主要用于安全访问内网资源或统一管理多台服务器的连接,通过跳转服务器,用户可以先登录一台具有公网访问权限的中间服务器,再通过该服务器访问内网中的其他服务器,从而增强安全性并简化操作流程,以下是关于Linux跳转服务器命令的详细说明,包括常用命令、配置方法及实际应用场景。

Linux跳转服务器命令有哪些常用操作?-图1
(图片来源网络,侵删)

跳转服务器的基本使用方法

直接通过SSH跳转

最基础的跳转方式是使用SSH命令的“-J”参数(ProxyJump),该参数允许用户指定一个或多个跳转服务器,假设需要通过跳转服务器jump-server(IP地址为168.1.100)访问内网服务器target-server(IP地址为0.0.5),可以使用以下命令:

ssh -J user@192.168.1.100 user@10.0.0.5

user是跳转服务器和目标服务器的用户名(如果不同,需分别指定),执行此命令后,系统会先要求输入跳转服务器的密码,验证通过后再连接目标服务器。

多级跳转

如果需要通过多级跳转服务器访问目标服务器,可以在-J参数中按顺序指定多个跳转节点。

ssh -J user1@192.168.1.100,user2@192.168.1.200 user@10.0.0.5

此命令会先通过user1@192.168.1.100连接,再通过user2@192.168.1.200最终到达目标服务器。

Linux跳转服务器命令有哪些常用操作?-图2
(图片来源网络,侵删)

使用SSH配置文件简化命令

为了简化频繁的跳转操作,可以在SSH配置文件(~/.ssh/config)中定义跳转规则。

Host jump-server
    HostName 192.168.1.100
    User user1
Host target-server
    HostName 10.0.0.5
    User user2
    ProxyJump jump-server

配置完成后,只需执行ssh target-server即可自动通过跳转服务器连接目标服务器。

跳转服务器的进阶配置

密钥认证与免密登录

为了提升安全性和便利性,建议使用SSH密钥认证代替密码登录,具体步骤包括:

  • 生成SSH密钥对(如果尚未生成):
    ssh-keygen -t rsa -b 4096
  • 将公钥复制到跳转服务器和目标服务器的~/.ssh/authorized_keys文件中:
    ssh-copy-id user@jump-server
    ssh-copy-id user@target-server

    配置完成后,连接跳转服务器和目标服务器时无需输入密码。

    Linux跳转服务器命令有哪些常用操作?-图3
    (图片来源网络,侵删)

端口转发与隧道

跳转服务器还可用于建立端口转发,实现安全访问内网服务,将本地机器的8080端口转发到目标服务器的80端口:

ssh -L 8080:target-server:80 user@jump-server

执行此命令后,访问本地http://localhost:8080即可通过跳转服务器访问目标服务器的80端口。

使用ProxyCommand实现更复杂的跳转

对于不支持-J参数的旧版SSH,可以通过ProxyCommand实现跳转,在~/.ssh/config中添加以下配置:

Host target-server
    HostName 10.0.0.5
    User user
    ProxyCommand ssh -W %h:%p user@jump-server

此配置的效果与-J参数类似,但兼容性更强。

跳转服务器的常见应用场景

安全访问内网资源

企业内网服务器通常不直接暴露在公网,通过跳转服务器可以避免直接暴露内网IP,降低安全风险。

统一管理多台服务器

运维人员可以通过一台跳转服务器集中管理多台内网服务器,避免频繁切换网络环境。

临时访问控制

跳转服务器可以设置访问权限,例如限制特定用户只能访问指定的内网服务器,或记录所有登录日志。

跳转服务器的维护与优化

定期更新系统

确保跳转服务器的操作系统和SSH软件包保持最新,避免安全漏洞。

限制用户权限

通过sudo或用户组管理,限制用户在跳转服务器上的操作权限,防止误操作或恶意行为。

使用SSH密钥轮换

定期更换SSH密钥,并清理无效的公钥,确保访问安全。

监控与日志

启用SSH日志记录,并使用工具(如fail2ban)监控异常登录行为,及时响应安全事件。

跳转服务器的常见问题与解决方案

以下是跳转服务器使用过程中可能遇到的问题及解决方法:

问题 原因 解决方案
连接超时 跳转服务器或目标服务器网络不通 检查网络连通性,确认防火墙规则
密钥认证失败 密钥未正确配置或权限错误 重新生成密钥并检查~/.ssh目录权限(需为700
多级跳转失败 中间服务器配置错误 检查ProxyJumpProxyCommand配置顺序

相关问答FAQs

问题1:如何通过跳转服务器上传文件到目标服务器?
解答:可以使用scp命令结合-J参数实现文件上传,将本地文件test.txt上传到目标服务器的/home/user/目录:

scp -J user@jump-server test.txt user@target-server:/home/user/

问题2:跳转服务器连接时出现“Permission denied (publickey,password)”错误怎么办?
解答:此错误通常是由于认证失败导致,可按以下步骤排查:

  1. 确认SSH密钥已添加到目标服务器的authorized_keys文件中;
  2. 检查~/.ssh目录及authorized_keys文件的权限(目录权限应为700,文件权限应为600);
  3. 确认目标服务器SSH服务是否启用密钥认证(检查/etc/ssh/sshd_config中的PubkeyAuthentication选项)。
分享:
扫描分享到社交APP
上一篇
下一篇