首页 文章

SSH身份验证(无PAM):如何知道用户是通过密钥还是密码登录?

提问于
浏览
0

我希望在用户SSH登录后执行某些操作,这与公钥或密码不同 . PAM将不参与我的案件 .

程序可以通过一种方法检查/ var / log / messages或/var/log/auth.log中的SSH身份验证信息 . 但通常,这些文件对普通用户来说是不可读的 . 也许我可以chmod o r,但听起来不安全 .

我还检查了一些SSH相关的环境变量,如'SSH_CONNECTION',但没有一个是有用的 .

有没有办法做到这一点?感谢帮助 :)

2 回答

  • 1

    你不能在 sshd 本身之外这样做,而在我内部我唯一知道的方法是使用 authorized_keys 来匹配特定的键并执行特定的命令 .

  • 1

    您现在唯一的方法是更改/ etc / ssh / sshd_config中的LogLevel并解析您的syslog输出日志以找出使用的auth方法 .

    LogLevel DEBUG肯定有所需的信息,但您也可以使用VERBOSE级别找到它...测试它

相关问题