服务器上的程序是否有办法获取用户用于ssh登录的公钥?
例如,github通过从他们的数据库中搜索公钥来知道它是用户“Ben”。
ssh -T git@github.com您好 Ben !您已成功通过身份验证, 但GitHub不提供shell访问。
我的问题是如何获取公钥?
答案 0 :(得分:2)
只有SSH服务器(sshd
)可以检索该信息。它不会暴露给从服务器启动的进程,例如shell。
Github这样做的事实以及some circumstantial evidence on their blog强烈暗示Github正在运行自定义SSH服务器(即不是OpenSSH)。您需要编写自己的SSH服务器来复制此功能。