在无密码ssh-login之后,Linux中是否有任何方法可以检索登录的远程用户的身份?
我想在登录脚本中采取一些不同的操作, 取决于我从哪个远程主机/用户ID执行ssh-login。
答案 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
中的行会被忽略而你会被忽略将被提示输入密码。