SSH 日志记录功能是否等同于用于私钥/公钥身份验证的 su 日志记录?

Dav*_* I. 11 security unix ssh logging authentication

在工作中,我们在 UNIX 上有一个非 root 共享登录帐户,用于管理特定应用程序。政策是不允许直接登录共享帐户;您必须以自己的身份登录并使用“su”命令切换到共享帐户。这是出于日志记录/安全目的。

我已经开始对代理使用 SSH 公钥/私钥身份验证,以允许我每天输入一次密码,并让代理转发消除一天剩余时间的密码提示。这真的很好。

但是,某些系统已锁定,因此我确实必须使用“su”命令才能访问共享帐户。啊!回到一直输入密码!

是否使用 SSH 公钥/私钥身份验证记录了足够的信息,以便我有合理的机会请求更改策略以在使用公钥/私钥时允许远程登录共享帐户?

我在 /var/log/secure 中进行了管理员查看,它只是说从特定 IP 地址为用户帐户接受了公钥。它没有说明它是谁的公钥,或者谁的私钥进行了身份验证。

dwc*_*dwc 13

通过该sshd_config文件可以使用多种级别的日志记录。请参阅手册页并查找LogLevel. 默认级别是INFO但很容易将其提升到VERBOSE甚至其中一个DEBUG#级别。

此外,您应该探索sudo作为su. 对 的好处的全面讨论sudo将是一个问题。但我可以说,sudo你可以定制你必须输入密码的频率,可以运行哪些命令等,所有这些都可以通过sudoers配置文件进行控制。


小智 6

另一种方法是移出authorized_keys用户范围(例如 to /etc/ssh/authorized_keys),以便只有系统管理员可以控制哪些公钥可用于登录给定帐户。

我们曾经将AuthorizedKeysFile指令更改为sshd_config如下所示的内容。

AuthorizedKeysFile /etc/ssh/authorized_keys/%u
Run Code Online (Sandbox Code Playgroud)

然后/etc/ssh/authorized_keys为每个应该能够登录的用户创建并使用文件填充目录,确保root文件仅对 root 可读/可写,而其他文件可由适当的用户读取,如下所示:

-rw-------  1 root root    1,7K 2008-05-14 14:38 root
-rw-r-----  1 root john     224 2008-11-18 13:15 john
Run Code Online (Sandbox Code Playgroud)

每个文件都包含一组允许登录给定帐户的公钥。每个用户帐户也有一个相应的组是很常见的。

使用公钥/私钥是控制远程用户访问的更好方法。您不必每个月都更改密码(您也不必设置),也不必因为员工离开您的公司而更改密码,只需删除他们的公钥即可;当然,使用 SSH 选项 ( http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8#SSHRC),您可以细粒度地确定给定用户可能具有访问权限的内容和位置。