ssh 密钥登陆过程

发布: 2008-06-02 22:50

ssh 协议常用登陆认证方式包括以下四种:密码认证、密钥认证、Keyboard Inteactive、GSSAPI。
密码认证非常常见,这里不再说明。Keyboard Inteactive、GSSAPI 下篇再讨论。这里重点说明密钥认证过程。

第一步:生成密钥对
密钥对包括公钥和私钥, 公钥放在ssh服务器上,私钥客户端保存使用。

生成步骤:
[code type="bash"]
bash$ ssh-keygen -b 1024 -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/gzl/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/gzl/.ssh/id_dsa.
Your public key has been saved in /home/gzl/.ssh/id_dsa.pub.
The key fingerprint is:
20:7f:02:f1:cc:2f:81:71:a1:d4:cf:0c:0c:64:fc:79 gzl@localhost
[/code]

上面输入的密码要记住,如果不输入密码(即空密码)也可以。

第二步:将密钥对分别放在对应的地方
这里将生成两个文件,分别是:id_dsa(私钥),id_dsa.pub公钥。
现在将公钥id_dsa.pub放ssh服务器上的~/.ssh/目录前,并将名字改为:authorized_keys

第三步:测试
这里我使用 windows平台下的secureCRT测试,在登陆认证方式中选择PublicKey,其他的不选。在后面的property弹出的对话框中选择登陆使用的
私钥文件id_dsa。现在可以登陆了。登陆过程要求输入密码(注意这时不再要求输入用户名了),输入生成密解更地输入的密码即成功登陆到SSH服务器了。


这里我们使用的dsa加密,另外还可使用rsa。
生成密钥也可以使用securecrt。


原文: http://qtchina.tk/?q=node/168

Powered by zexport