Security|ssh 公钥认证
ssh 公钥认证 - 被风吹过的地方 - 中国易狐家园-热切希望与您的合作-同发展同进步 - powered by X-Space
ssh 公钥认证
原理
密匙认证需要依靠密匙,首先创建一对密匙(包括公匙和密匙,并且用公匙加密的数据只能用密匙解密),并把公匙放到需要远程服务器上。这样当登录远程服务器时,客户端软件就会向服务器发出请求,请求用你的密匙进行认证。服务器收到请求之后,先在你在该服务器的宿主目录下寻找你的公匙,然后检查该公匙是否是合法,如果合法就用公匙加密一随机数(即所谓的challenge)并发送给客户端软件。客户端软件收到 "challenge"之后就用私匙解密再把它发送给服务器。因为用公匙加密的数据只能用密匙解密,服务器经过比较就可以知道该客户连接的合法性.配置
默认情况下, ssh服务器和客户端都不用任何特殊的配置都是可以正常工作的. 当然为了更安全起见,你可以尝试关闭服务器上的密码认证方式, 也就是只允许公钥认证. [请使用文明用语]作如下: 在服务器上/etc/ssh/sshd_conf中的PasswordAuthentication yes改为
PasswordAuthentication no
密钥的生成和公钥认证的配置.
假设服务器A采用公钥认证体制, 客户机B上的用户要登录服务器A.- 在B上产生客户机的密钥对:
$ssh-keygen -d
该命令将在用户的主目录/.ssh目录下面产生一对密钥(这里采用的ssh2的dsa密钥):id_dsa 私钥 id_dsa.pub 公钥
产生过程中会要你输入密码, 这个密码是私钥的保护密码. 如果为空, 那么私钥没有密码保护. 1.传送公钥到认证服务器上面.$scp .ssh/id_dsa.pub myuser@A:/home/myuser/.ssh/
- 将公钥加入服务器的公钥库
#远程登录服务器.这个过程可能要输入密码 $ssh -l myuser A #将密钥加入服务器的用户公钥仓库中 $cat /home/myuser/.ssh/id_dsa.pub >> authorized_key2
请确保 id_dsa (私钥)的权限是600,其他权限是644, 否则ssh公钥认证体制不能正常工作. 到此, 公钥认证配置完毕, 你可以测试一下了.ssh -l myuser A #现在还跟你要密码么?
No comments:
Post a Comment