SSH:根据使用的公钥执行不同的shell

我想允许ssh访问特定的帐户,但是如果我使用特定的puclic键连接,我应该将其放到一个完整的shell中,否则将被删除。

例:

我使用公钥ABCDEF(在authorized_keys中正确设置)连接到ssh到[email protected],我得到一个/ bin / zsh shell

如果我使用密码或其他公共密钥连接到[email protected],我会得到一个/ bin / rsh shell

我的想法是创build一个自定义的中间shell(IE:/ bin / mysh),检查使用的密钥并从那里执行正确的shell,但我不知道如何检查使用哪个密钥(或者是否可以)。

env似乎没有包含任何有用的东西。

任何想法如何做到这一点或其他可能的解决scheme?

谢谢。

在要使用备用shell的密钥上的authorized_keys文件中使用command选项。 有关详细信息,请参见sshd(8)手册页的AUTHORIZED_KEYS FILE FORMAT部分。