现在开始执行实际的身份验证,最简单的身份验证形式就是上文提到的输入密码。 SSH 的目的是提供安全且方便使用的软件。 由于 SSH 是用来取代 rsh 和 rlogin 的,所以 SSH 必须也能提供一种适合日常使用的身份验证方法。 SSH 是通过另一个密钥对(由用户生成)来实现该功能的。 为此,SSH 包提供了一个帮助程序:ssh-keygen。 输入 ssh-keygen-t rsa 或 ssh-keygen-t dsa 后就会生成密钥对,同时系统会提示您输入储存密钥所用的基本文件名。
确认默认设置并回应针对通行密码的请求。 即使软件建议输入空的通行密码,仍建议您为此处说明的过程输入一个 10 到 30 个字符的通行密码。 请不要使用简短的单词或短语。 再次输入通行密码进行确认。 随后,您将看到私钥和公钥的储存位置,在本例中为文件 id_rsa 和 id_rsa.pub。
使用 ssh-keygen-p -t rsa 或 ssh-keygen-p -t dsa 更改旧通行密码。 将公钥组件(本例中为 id_rsa.pub)复制到远程计算机并保存到 ~/.ssh/authorized_keys 中。 下次建立连接时,系统将要求您使用通行密码对自身进行身份验证。 如果系统没有要求身份验证,请校验这些文件的位置和内容。
从长期看,此过程比每次提供密码要麻烦。 所以,SSH 包提供了另一种工具 ssh-agent,该工具可以在 X 会话期间保留私用密钥。 整个 X 会话作为 ssh-agent 的子进程启动。 为此,最简单的方法是将 .xsession 文件开始位置的变量 usessh 设置为 yes 并通过显示管理器(如 KDM 或 XDM)登录。 也可以输入 ssh-agentstartx。
现在您就可以像平常那样使用 ssh 或 scp 了。 如果按上文所述分发了公钥,系统就不再提示您输入密码。 终止 X 会话或用密码保护应用程序(如 xlock)锁定该会话时一定要小心。
文件 /usr/share/doc/packages/openssh/README.SuSE 还介绍了由于引入版本 2 的 SSH 协议而产生的所有相关更改。