ssh的奇怪问题,某个用户无法密钥验证

whtlly
ssh的奇怪问题,某个用户无法密钥验证

新机器,debian4.1 ,安装最小系统,apt安装了sshd,配置只能key验证登录。
建了一个用户aaa,可以通过密钥验证登录。
但是奇怪的问题发生了,又建立了一个用户bbb,无法通过密钥验证,提示验证失败,让我检查用户名和密钥对。
最开始以为是密钥的问题,使用和用户aaa相同的密钥对也是同样的错误提示。检查sshd_config配置,未设置AllowGroups
和AllowUsers。系统也未进行任何安全方面的配置,新建用户ccc、ddd等多个,和bbb同样的原因,无法验证key。

有人遇到过这种情况吗?什么原因?

whtlly
up一下,呼唤高手出现

rhci
删掉~/.ssh/known_host试试

whtlly
补充一下,这些用户都可以通过passwd验证登录

rhci
最好是把报错的东西复制上来

whtlly
[quote]原帖由 [i]rhci[/i] 于 2008-5-11 16:39 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6583875&ptid=1001960][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
删掉~/.ssh/known_host试试 [/quote]
将/root/.ssh/known_host文件清空就好了。

有两个问题
第一,我不是root登录,和root/.ssh/known_host这个文件没什么关系吧?但为什么清了他就好了?
第二,好像某个用户在本机通过ssh登录其他服务器,才会生成这个文件吧?比如bbb在本机登录另一台机器,就会在本机的/home/bbb/.ssh/known_hosts文件中加入一条。这个文件是否能影响用户从其他机器上ssh登录本机?

whtlly
强调一下,我清的是/root/.ssh/known_hosts这个文件
并不是从前可以密钥验证ssh登录的aaa用户主目录下的known_hosts文件。

新用户,比如bbb,在他的主目录下,并没有known_hosts这个文件。

rhci
~/.ssh这个目录是客户端用的。跟服务器上的用户没有任务关系

rhci
如果你直接以SSH登录服务器,那么服务器会传给你一个私钥,这个私钥就是放在客户端的~/.ssh目录里面的。

whtlly
看来有些事没说清楚


~/.ssh/known_hosts文件存放的应该是曾经登陆过的主机的公钥。

比如有两台机器,a和b,各有用户a1和b1。
假设我在a机上,用户是a1。准备ssh登录b机,登录用户名是b1,那么应该在a机上的a1用户的主目录下的.ssh/known_hosts文件下添加一条,内容是b机的ip地址和公钥。


我的服务器是debina,有用户aaa和bbb,aaa用户可以密钥验证登录,bbb不可以。这两个用户主目录下面都没有.ssh/known_hosts这个文件。

现在的问题是,为什么我将/root/.ssh/known_hosts文件清空就bbb用户可以密钥验证登录了?
和/root/.ssh/known_hosts这个文件有什么关系?
这个文件应该是我在服务器上,使用root用户ssh登录到另一台机器,才产生的吧?内容也是另一台机器的公钥啊。
没弄明白,请各位指教。