如果用户的站点要实现基于主机的验证或用户公钥验证,则必须生成公钥/私钥对。有关其他选项,请参见 ssh-keygen(1) 手册页。
通过系统管理员确认是否配置了基于主机的验证。
启动密钥生成程序。
myLocalHost% ssh-keygen -t rsa Generating public/private rsa key pair. … |
其中,-t 是算法类型,可以是 rsa、dsa 或 rsa1 之一。
指定将保存密钥的文件的路径。
缺省情况下,文件名 id_rsa(表示 RSA v2 密钥)显示在括号中。可通过按回车键选择此文件。或者,可以键入替换的文件名。
Enter file in which to save the key (/home/jdoe/.ssh/id_rsa):<按回车键> |
通过将字符串 .pub 附加到私钥文件的名称后,可以自动创建公钥的文件名。
键入使用密钥的口令短语。
此口令短语用于加密私钥。强烈建议不要使用空项。请注意,键入口令短语时,它们不会显示。
Enter passphrase (empty for no passphrase): <键入口令短语> |
重新键入口令短语以进行确认。
Enter same passphrase again: <键入口令短语> Your identification has been saved in /home/jdoe/.ssh/id_rsa. Your public key has been saved in /home/jdoe/.ssh/id_rsa.pub. The key fingerprint is: 0e:fb:3d:57:71:73:bf:58:b8:eb:f3:a3:aa:df:e0:d1 jdoe@myLocalHost |
检查结果。
检查密钥文件的路径是否正确。
% ls ~/.ssh id_rsa id_rsa.pub |
此时,已创建公钥/私钥对。
选择适当的选项:
如果管理员已配置了基于主机的验证,则可能需要将本地主机的公钥复制到远程主机。
现在即可登录到远程主机。有关详细信息,请参见如何使用 Solaris 安全 Shell 登录到远程主机。
如果站点使用公钥来进行用户验证,请在远程主机上装载 authorized_keys 文件。
(可选的)减少口令短语的提示。
有关过程,请参见如何减少 Solaris 安全 Shell 中的口令提示。有关更多信息,请参见 ssh-agent(1) 和 ssh-add(1) 手册页。
在以下示例中,用户可以访问运行 Solaris 安全 Shell v1 协议的主机。要通过 v1 主机进行验证,用户应创建 v1 密钥,然后将公钥部分复制到远程主机。
myLocalHost% ssh-keygen -t rsa1 -f /home/jdoe/.ssh/identity Generating public/private rsa key pair. … Enter passphrase (empty for no passphrase): <键入口令短语> Enter same passphrase again: <键入口令短语> Your identification has been saved in /home/jdoe/.ssh/identity. Your public key has been saved in /home/jdoe/.ssh/identity.pub. The key fingerprint is: … myLocalHost% ls ~/.ssh id_rsa id_rsa.pub identity identity.pub myLocalHost% cat $HOME/.ssh/identity.pub | ssh myRemoteHost \ 'cat >> .ssh/authorized_keys && echo "Key copied"' |