在无密码 ssh-login 之后,Linux 中是否有任何方法可以检索登录的远程用户的身份?
我想在登录脚本中采取一些不同的操作,这取决于我从哪个远程主机/用户 ID 进行 ssh 登录。
在无密码 ssh-login 之后,Linux 中是否有任何方法可以检索登录的远程用户的身份?
我想在登录脚本中采取一些不同的操作,这取决于我从哪个远程主机/用户 ID 进行 ssh 登录。
除非您使用类似此答案的内容,否则不会记录原始系统的用户名- 即将用户名作为连接的一部分推送。远程主机编码在SSH_CLIENT
环境变量中,因此可以确定。
您可以尝试finger
远程系统,但这需要fingerd
运行,这在当今不是常见的服务。
为用户使用特定的密钥会更好,这些密钥可以在密钥的开头设置选项,例如environment="NAME=value"
在authorized_keys
文件中,以确定连接的远程用户。例如
environment="REMOTEUSER=fred" ssh-rsa <blahblahkey> <comment>
environment
仅当您已PermitUserEnvironment
在 sshd 配置中设置时,密钥中的选项才有效,否则authorized_keys
将忽略该行并提示您输入密码。