我需要运行SSH服务器并logging任何尝试连接的客户端的IP和公钥(实际上不授予访问权限)。
用例是这样的:我将这个web应用程序部署到远程主机,在构build过程中,从github / bitbucket(git使用ssh使用键)获取一些依赖项。 现在,如果我想要这个托pipe服务器访问一些私人回购,我需要白名单它的公钥,但是主机不提供直接从文件系统读取密钥的访问。 但是我可以把它指向任何SSH主机,它将build立一个连接,大概是分发它的公钥。 我想logging这个。
任何build议感激。
如果您需要白名单的公共密钥,您不能从失败的尝试中select它。 根本不是关于sshd或其configuration,而是协议本身,因为公钥authentication就是这样的:
authorized_keys文件进行比较。 在失败的尝试中,在步骤2停止,防止进一步发生。 不过,整个公钥永远不会发送到服务器,只是ID。
一个人不会简单地logging他甚至不知道的东西。
sshd实际上并不logginglogin尝试中使用的公钥,成功或其他。 最接近的是在LogLevel VERBOSE上logging公钥的指纹。
此外,因为这是ServerFault,我不得不提到你的部署过程是不正确的。 您应该分发(签名)软件包pipe理器使用的.rpm , .deb等。在这些软件包中,如果需要,可以包含configuration脚本。