是否可以在授权连接之前获取SSH连接的传入IP地址?
我们正在使用一个AuthorizedKeysCommand bash脚本,它可以按预期工作,但我希望至少能够记录包括传入IP地址在内的尝试。我找不到任何东西,甚至模糊地暗示它是可用的。像$SSH_CLIENT
和$SSH_CONNECTION
这样的环境变量在脚本中是空的,并且在包含IP的sshd配置中没有可用的令牌。
授权密钥脚本非常简单。
#!/bin/bash
curl -sf -X GET "http://10.x.x.x/gatekeeper/$1/$IP_WOULD_GO_HERE"
2条答案
按热度按时间f87krz0w1#
看起来你自己基本上已经回答了这个问题:该值既不能作为标记也不能作为环境变量。剩下的选择是在sshd本身之外的某个地方记录连接:
.然后你会看到所有的连接记录在你的日志如下:
这将使您的日志消息如下所示:
vwhgwdsa2#
自9.4 [1]版起,
%C
令牌可用:AuthorizedPrincipalsCommand和AuthorizedKeysCommand现在接受两个额外的%扩展序列:%D扩展到连接会话的路由域,%C扩展到连接源和目的地的地址和端口号。
[1][https://www.openssh.com/txt/release-9.4](https://www.openssh.com/txt/release-9.4)