无密码ssh-login后检查远程用户的身份?

时间:2013-01-02 11:13:46

标签: linux login ssh authorized-keys

在无密码ssh-login之后,Linux中是否有任何方法可以检索登录的远程用户的身份?

我想在登录脚本中采取一些不同的操作, 取决于我从哪个远程主机/用户ID执行ssh-login。

1 个答案:

答案 0 :(得分:5)

除非您使用something like this answer,否则不会记录始发系统的用户名 - 即将用户名作为连接的一部分。远程主机在SSH_CLIENT环境变量中编码,因此可以确定。

您可以尝试finger远程系统,但这需要fingerd运行,这些日子不是常用服务。

您可以更好地为用户使用特定密钥,可以在密钥开头设置选项,例如environment="NAME=value"文件中的authorized_keys,以确定远程用户连接的。 e.g。

environment="REMOTEUSER=fred" ssh-rsa <blahblahkey> <comment>

只有在sshd配置中设置了environment,才能在密钥中使用PermitUserEnvironment选项,否则authorized_keys中的行会被忽略而你会被忽略将被提示输入密码。