SSH 有用户别名吗?

SSH 有用户别名吗?

此问题并非重复。请在将其标记为重复之前先阅读。

是否可以为 Linux 服务器上的用户分配昵称或别名,然后使用昵称通过 SSH 进入服务器?我正在考虑为添加到.bashrc.bash_aliases文件的各种命令添加别名,例如:

alias grep='grep --color=auto'

例如,如果有要求(业务规则)在服务器上设置用户的全名,例如,john_smith而不仅仅是他们的名字(john),但我们想要昵称john_smith fruitloops,我们希望 John 能够:

ssh john_smith@ip_address

也:

ssh fruitloops@ip_address

如果可以的话,用户和昵称之间的映射应该在哪里设置?用户是否fruitloops也需要存在于服务器上?

这个问题是关于为用户设置别名,而不是主机

答案1

Linux 中的每个用户只有一个名字,这是他唯一的名字。您可以为命令创建别名,但不能为用户创建别名。

但是您可以创建具有相同 UID、主目录和密码的第二个用户来帮助您。

答案2

我还没有尝试过,但除了将两个用户映射到一个 UID 之外,另一个选项(在我看来这似乎很危险,但这个选项可能同样危险)是让单个用户充当基于 SSH 密钥的重定向器。这就是使用 SSH 的源代码控制存储库通常的工作方式。

让我们称呼该用户me。每个人都将使用这个别名。

ssh me@ip_address

现在,用户me拥有了他们所有用户的公钥~/.ssh/authorized_keys

command="sudo -i -u user-mapped-to-key" ssh-rsa key

您需要让用户me具有像其他用户一样使用 sudo 的能力,并且您需要管理me授权密钥文件。

无论如何,我还没有测试过这个,但理论上这样的事情应该有效。

相关内容