全部博文(186)
分类:
2012-11-20 13:30:46
原文地址:SSH 基于公钥授权的无用户名,密码输入 作者:andersonyan
先来看SSH的安全认证机制(摘自《维基百科》)
在客户端来看,SSH提供两种级别的安全验证。
在服务器端,SSH也提供安全验证。 在第一种方案中,主机将自己的公用密钥分发给相关的客户端,客户端在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有密钥来解密数据, 从而实现主机密钥认证,确定客户端的可靠身份。 在第二种方案中,存在一个密钥认证中心,所有提供服务的主机都将自己的公开密钥提交给认证中心,而任何作为客户端的主机则只要保存一份认证中心的公开密钥 就可以了。在这种模式下,客户端必须访问认证中心然后才能访问服务器主机。
第二种级别的密钥授权的具体做法为:
1. 在访问服务器上输入命令,生成公钥:
#cd
#ssh-keygen
将在目录"/root/.ssh/"下生成公钥。
2. 复制公钥
#cd /root/.ssh/
#cat id_rsa.pub
复制整个公钥。
3. 在被访问服务器上输入命令,生成密钥:
#cd
#ssh-keygen
#cd /root/.ssh/
#vim authorized_keys2
【Ctrl v】将访问服务器的公钥复制到文尾,保存并退出。
4. 在访问服务器上调用被访问服务器的脚本时将不再需要输入用户名和密码。
ssh -l root 被访问服务器IP地址 /被访问服务器脚本或程序的路径/test.pl