SSH日志loggingfunction是否相当于logging私钥/公钥validation的function?

在这里工作中,我们在UNIX上有一个用于pipe理特定应用程序的非root共享login帐户。 政策是不允许直接login共享帐户; 您必须自己login并使用“su”命令切换到共享帐户。 这是为了logging/安全目的。

我已经开始使用SSH代理的公钥/私钥进行身份validation,允许我每天input一次密码,让代理转发在一天的其余时间内消除密码提示。 这真的很好。

但是,一些系统被locking,所以我真的不得不使用“su”命令来访问共享帐户。 精氨酸! 一直回到input密码!

是否有足够的信息与SSH公钥/私钥身份validation一起logging,以便我可以有合理的机会请求更改策略以允许使用公钥/私钥进行远程login到共享帐户?

我有一个pipe理员在/ var / log / secure中查找,它只是说从一个特定的IP地址接受一个用户帐户的公钥。 它没有说谁是公钥,或谁的私钥做了authentication。

通过sshd_config文件有很多级别的日志logging可用。 查看手册页并查找LogLevel 。 默认的级别是INFO但是把它打到VERBOSE或甚至DEBUG#级别是很容易的。

此外,你应该探索sudo作为su的替代。 对sudo的好处的充分讨论将是一个问题。 但是我可以用sudo你可以定制你input密码的频率,可以运行哪些命令等,所有这些都可以通过sudoersconfiguration文件来控制。

另一种方法是将authorized_keys移到用户范围之外(例如到/etc/ssh/authorized_keys ),以便只有系统pipe理员才能控制哪些公用密钥可以用来login给定的帐户。

我们曾经把sshd_configAuthorizedKeysFile指令改为如下所示。

 AuthorizedKeysFile /etc/ssh/authorized_keys/%u 

然后创build并填充/etc/ssh/authorized_keys目录中的每个用户应该能够login的文件,确保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 

每个文件都包含一组将被允许login到给定帐户的公钥。 每个用户帐户还有一个相应的组,这是相当普遍的。

使用公钥/私钥是控制远程用户访问的一种更好的方法。 您不必每个月都更改一次密码(您也不需要设置密码),而不必仅仅因为员工离开公司而删除了公钥; 当然也可以使用SSH选项( http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8#SSHRC ),您可以对某个特定用户可能访问的内容进行细化。

SSH公钥/私钥validation与主机validation是分开的。 你在这里运气不好。 您可以请求,但是允许特定组的成员通过sudo运行某些pipe理命令,而不需要密码 – 就像以下示例所示,允许secretaries组中的用户pipe理帐户:

 # file: /etc/sudoers ... %secretaries ALL= NOPASSWD: /usr/bin/adduser, /usr/bin/rmuser ...