SSH提示input密码,即使私钥可用,提供给服务器并且已知

我在一台VirtualBox机器中安装了一个Ubuntu桌面,而且openssh服务器有一个奇怪的行为:

  • 当我的用户还没有连接到服务器(第一个SSH连接),它会提示input密码,即使私有密钥可用(PuTTY + Pagent)。 在第一次连接之后,如果我打开第二个或第三个连接,它将与键连接。
  • 如果我closures所有的连接并打开一个新的连接,它会提示input密码。
  • 如果我已经说了4个打开的连接,并且closures了第一个(提示input密码的连接),则第五个连接将用键打开

有人看过这个吗?

感谢您花费的时间

用户的主目录是如何安装的? 听起来像是,无论什么原因,如果用户没有login,用户的主目录不可用,以至于sshd找不到authorized_keys文件。

另外,请查看服务器上的/var/log/auth.log以获取任何消息。

更新:如果需要进行无密码login,则可以更改sshd_config文件以在未encryption的目录中查找authorzied_keys。 http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

我想这样的事情会工作(没有testing):

AuthorizedKeysFile /etc/ssh/pubkeys/%u/authorized_keys .ssh/authorized_keys 

这应该告诉sshd在未encryption的位置和encryption的位置检查公钥。 检查手册页获取更多信息。