清单 4. 创建并安装公钥或私钥
1 $ cd ~
2 $ mkdir .ssh
3 $ chmod 700 .ssh
4 $ cd .ssh
5 $ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/mstreicher/.ssh/id_dsa): ./id_dsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ./id_dsa.
Your public key has been saved in ./id_dsa.pub.
The key fingerprint is:
40:6c:26:e7:53:df:d1:7b:c4:79:c5:a8:cd:6b:fe:8e mstreicher@db.Linux-mag.com
6 $ ls
id_dsa id_dsa.pub
7 $ chmod 600 *
8 $ scp id_dsa.pub www.example.com:
Login: marvin
PassWord: ******
id_dsa 100% 668 0.7KB/s 00:00
9 $ ssh www.example.com
Login: marvin
Password: ******
A $ mkdir .ssh
B $ chmod 700 .ssh
C $ cd .ssh
D $ cat ../id_dsa.pub >> authorized_keys
E $ rm ../id_dsa.pub
F $ chmod 600 *
G $ logout
10 $ ssh www.example.com
a $ hostname
www.example.com
b $ logout
命令 1 到 3 在您的 home 目录中创建了一个名为 .ssh 的私有本地目录。这个目录的模式必须为 700,否则 ssh 无法使用公钥或私钥身份验证。(您可以看到,步骤 A 到 C 对远程计算机运行了相同的命令序列。)命令 5 使用 DSA 创建了密钥对。接下来,保持其中的两个 Passphrase 为空。(它们提供了额外的安全级别,但却添加了一项身份验证步骤。)ssh-keygen 生成两个文件:id_dsa(私钥)和 id_dsa.pub(公钥)。步骤 6 显示了这些文件,而步骤 7 则对这两个密钥进行保护。您的密钥的模式必须为 0600 或 0400。
标签: