允许其他人通过 ssh 端口转发到我的 Linux VPS

允许其他人通过 ssh 端口转发到我的 Linux VPS

我有一个 Ubuntu VPS,有时我会用它作为SOCKS代理来浏览互联网。我使用 ssh 动态端口转发命令如下:

ssh -fNTC -D 1080 username@vpsIP

然后将我的浏览器的代理设置localhost:1080SOCKS

我已经创建了一个额外的用户,用户名是“哥们' 在 VPS 上让几个朋友也能够 ssh 端口转发并获得类似于 VPN 的东西(我们不需要 VPN 的网络部分)。

现在我真的不想将我的 VPS 作为 VPN 服务器运行,所以我想坚持使用 ssh 端口转发或类似功能。

我该如何预防哥们用户是否能够打开安全外壳并开始在 VPS 上搞乱事情?

答案1

那么如何去掉用户‘dudes’的外壳呢?

usermod -s /sbin/nologin dudes

或者如果你的操作系统没有 nologin :

usermod -s /bin/false dudes

答案2

可能性不大。但最简单的可能是ForceCommand中的选项sshd_config。它不允许运行任何命令,如果他们想运行某些命令,它将运行这个命令。

示例片段sshd_config

Match User dudes  #your dudes user -- you can also match group
  ForceCommand /bin/true

答案3

如果您使用基于密钥的身份验证(我强烈建议您这样做),那么您可以限制每个密钥通过文件可以执行的操作authorized_keys

command="/bin/false"在键前面指定将阻止他们调用 shell 或除您输入的命令之外的任何命令authorized_keys

您还可以通过 施加其他限制authorized_keys。有关完整列表,请参阅sshd手册页。

相关内容