为用户提供最安全的 SSH 隧道设置

为用户提供最安全的 SSH 隧道设置

出于安全原因,我在远程 VPS 上创建了一个用户,仅用于 SSH 隧道。我的本地 PC 落入了许多人手中,这让我很害怕,因为我需要保持该 SSH 会话打开。因此,我想锁定此用户(在服务器上),以便其他人无法执行除 SSH 隧道之外的任何其他操作(即使密码被泄露)。有了这个用户,我只想登录(使用密码)并进行 SSH 隧道……仅此而已!
你能帮忙吗?

答案1

据推测,您使用 SSH 密钥来以该用户的身份进行身份验证。

在 .ssh/authorized_keys 中,您可以设置有关用户可以执行哪些操作的选项。例如,您可以设置no-pty,no-X11-forwarding选项以阻止用户获取 shell 或执行任何 X11 转发。请参阅sshd 手册页以获取完整的选项列表。

如果您没有使用基于密钥的身份验证,并且您的服务器正在运行较新版本的 OpenSSH,则请使用该Match user选项与阻止访问的选项结合使用,并强制执行不执行任何操作的命令。请参阅sshd_config 命令

Match user username
    AllowTcpForwarding yes
    X11Forwarding no
    ForceCommand /bin/cat

答案2

您可以设置没有 RSA 密钥的初始 SSH 会话/隧道和-L(将转发地址绑定到本地地址)和-N命令(不执行任何命令),即:

ssh -L 本地端口:web地址:端口 -N

因此在您的情况下,由于您正在转发 SSH,它可能看起来像......

ssh -L 22:网址:22 -N

这应该会为您设置转发,而无需设置会话。

稍微观察一下阅读关于这一点。

相关内容