在没有root权限的情况下在SSH服务器上执行两个身份validation

我想在服务器上设置两个身份validation,我没有pipe理帐户。 这样做的目的是:我想给其他人创buildSSH隧道到这个服务器(通过我的帐户)的可能性,但我不希望他们有shell访问。

到目前为止我发现的唯一线索是创build自定义的.bash_profile脚本,其中要求第二个密码很像这个问题:

https://unix.stackexchange.com/questions/179538/bashrc-custom-secondary-password-and-scp-is-not-working-ssh-secondary-passwor

但是这是没用的,因为它仍然可以通过sftplogin并删除脚本。

那么甚至有可能没有超级用户权限呢?

你在你的问题中混淆了术语。 首先你要求进行双因素authentication。 接下来,您继续解释您的需求,这与双因素authentication无关。 双因素身份validation本身对身份validation后用户可以执行的操作没有任何限制。

只要使用公共密钥进行身份validation,就可以对使用sshlogin可以做什么施加限制。

~/.ssh/authorized_keys ,您可以对该文件中指定的每个密钥可以使用的限制进行限制。 例如,如果您不想允许shell访问,则可以强制执行一个不执行任何操作的命令:

 command="/bin/false" ssh-rsa ... 

该行的关键将不会访问既不壳也不sftp。 只要在客户端使用-N标志,它仍然可以用于端口转发。 还有许多其他限制可能。 有关可用于关键用法的限制的完整列表,请参见sshd手册页。