当前位置: 技术问答>linux和unix
ssh 的公钥认证问题
来源: 互联网 发布时间:2015-12-31
本文导语: 各位老大,刚刚接手一台linux(fedora5)服务器,于是就开始了linux之旅(以前没怎么接触过,现在也知道一些很基本的东西),碰到一个ssh问题搞了很久不得其解,请各位指教: 服务器上安装了sshd服务(OpenSSH_4.3p2, O...
各位老大,刚刚接手一台linux(fedora5)服务器,于是就开始了linux之旅(以前没怎么接触过,现在也知道一些很基本的东西),碰到一个ssh问题搞了很久不得其解,请各位指教:
服务器上安装了sshd服务(OpenSSH_4.3p2, OpenSSL 0.9.8a),有几个用户user1和user2。
经过前任管理员设置user1可以在客户端(winxp cygwin)通过ssh的公钥认证方式(避免每次都要输入密码)登录到服务器上。
现在我需要让user2也可以这样。
我在user2机器上生成了密钥对,并将公钥传到了服务器user2帐户的.ssh(这个文件夹不存在,是mkdir建的,这里是个疑问:为什么user2的家目录下默认没有.ssh文件夹?)文件中。
然后我在user2的cygwin上使用ssh user2@server方式登录时还是提示我输入密码(不是密钥的密码,密钥密码为空),即实际上没有通过密钥的方式建立ssh连接,而是普通的密码认证方式。
经过n多次测试,发现在user2机器上生成的公钥,加到服务器user1帐户的公钥中(cat id_rsa.pub>>/home/user1/.ssh/authorized_keys),再在user2机器上以user1帐户登录是成功的(#user2@user2 ssh user1@server),即基本认定密钥本身没有问题,也就是客户端基本没有问题。
为什么会这样?如何解决?哪位大虾能指点一下吗?不知道我是否表述清楚了!
服务器上安装了sshd服务(OpenSSH_4.3p2, OpenSSL 0.9.8a),有几个用户user1和user2。
经过前任管理员设置user1可以在客户端(winxp cygwin)通过ssh的公钥认证方式(避免每次都要输入密码)登录到服务器上。
现在我需要让user2也可以这样。
我在user2机器上生成了密钥对,并将公钥传到了服务器user2帐户的.ssh(这个文件夹不存在,是mkdir建的,这里是个疑问:为什么user2的家目录下默认没有.ssh文件夹?)文件中。
然后我在user2的cygwin上使用ssh user2@server方式登录时还是提示我输入密码(不是密钥的密码,密钥密码为空),即实际上没有通过密钥的方式建立ssh连接,而是普通的密码认证方式。
经过n多次测试,发现在user2机器上生成的公钥,加到服务器user1帐户的公钥中(cat id_rsa.pub>>/home/user1/.ssh/authorized_keys),再在user2机器上以user1帐户登录是成功的(#user2@user2 ssh user1@server),即基本认定密钥本身没有问题,也就是客户端基本没有问题。
为什么会这样?如何解决?哪位大虾能指点一下吗?不知道我是否表述清楚了!
|
以下操作都在服务器端
1. 首先你确认一下 user2 里面的.ssh 所有者是谁,所有者最好是 user2,方便后面的设置
chown -hR user2 /home/user2/.ssh
2. 更改相应用户的权限, 让用户 user2 对.ssh 拥有r,w,x权限,其他用户(包括本组)没有任何权限;
让 user2 对./ssh/authorized_keys 可读可写,其他用户(包括本组)没有任何权限;
chmod 700 /home/user2/.ssh
chmod 600 /home/user2/.ssh/authorized_keys
3. OK了。
另外 .ssh 目录是要自己建立的,系统并不自动生成
1. 首先你确认一下 user2 里面的.ssh 所有者是谁,所有者最好是 user2,方便后面的设置
chown -hR user2 /home/user2/.ssh
2. 更改相应用户的权限, 让用户 user2 对.ssh 拥有r,w,x权限,其他用户(包括本组)没有任何权限;
让 user2 对./ssh/authorized_keys 可读可写,其他用户(包括本组)没有任何权限;
chmod 700 /home/user2/.ssh
chmod 600 /home/user2/.ssh/authorized_keys
3. OK了。
另外 .ssh 目录是要自己建立的,系统并不自动生成
|
chmod -R 777 .ssh
|
/etc/ssh下面有一个配置文件,你看看他的设置是不是正确,
里面有一项指定密钥文件是什么的项,如果这个没问题
那你看俺的blog看看,前不久偶也遇到了这个问题。
playmud.cublog.cn
维护以后就能看了
里面有一项指定密钥文件是什么的项,如果这个没问题
那你看俺的blog看看,前不久偶也遇到了这个问题。
playmud.cublog.cn
维护以后就能看了