Solaris 安全 Shell 提供公钥和口令方法来验证与远程主机的连接。公钥验证是一种比口令验证更强大的验证机制,因为私钥从不通过网络传送。
请按以下顺序尝试这些验证方法。如果配置不满足验证方法的要求,请尝试下一种方法。
GSS-API-使用 mech_krb5 (Kerberos V) 和 mech_dh (AUTH_DH) 等 GSS-API 机制的凭证来验证客户机和服务器。有关 GSS-API 的更多信息,请参见《Solaris 开发者安全性指南》中的“GSS-API 介绍”。
基于主机的验证-使用主机密钥和 rhosts 文件。使用客户机的 RSA 和 DSA 公共/专用主机密钥验证客户机。使用 rhosts 文件向用户授权使用客户机。
公钥验证-验证用户的 RSA 和 DSA 公钥/私钥。
口令验证-使用 PAM 验证用户。 v2 中的键盘验证方法允许 PAM 的任意提示。有关更多信息,请参见 sshd(1M) 手册页中的 SECURITY 部分。
下表显示了验证正在尝试登录到远程主机的用户的要求。该用户位于本地主机(客户机)上。远程主机(服务器)正在运行 sshd 守护进程。下表显示了 Solaris 安全 Shell 验证方法、兼容的协议版本和主机要求。
表 18–1 Solaris 安全 Shell 的验证方法
验证方法(协议版本) |
本地主机(客户机)要求 |
远程主机(服务器)要求 |
---|---|---|
GSS 机制的启动器凭证。 |
GSS 机制的接收器凭证。有关更多信息,请参见获取 Solaris 安全 Shell 中的 GSS 凭证。 |
|
用户帐户 /etc/ssh/ssh_host_rsa_key 或 /etc/ssh/ssh_host_dsa_key 中的本地主机私钥 /etc/ssh/ssh_config 中的 HostbasedAuthentication yes |
用户帐户 /etc/ssh/known_hosts 或 ~/.ssh/known_hosts 中的本地主机公钥 /etc/ssh/sshd_config 中的 HostbasedAuthentication yes /etc/ssh/sshd_config 中的 IgnoreRhosts no /etc/shosts.equiv、/etc/hosts.equiv、~/.rhosts 或 ~/.shosts 中的本地主机项 |
|
用户帐户 ~/.ssh/id_rsa 或 ~/.ssh/id_dsa 中的私钥 ~/.ssh/id_rsa.pub 或 ~/.ssh/id_dsa.pub 中的用户公钥 |
用户帐户 ~/.ssh/authorized_keys 中的用户公钥 |
|
RSA 公钥 (v1) |
用户帐户 ~/.ssh/identity 中的私钥 ~/.ssh/identity.pub 中的用户公钥 |
用户帐户 ~/.ssh/authorized_keys 中的用户公钥 |
用户帐户 |
用户帐户 支持 PAM,包括触发口令生命期后的任意提示和口令更改。 |
|
用户帐户 |
用户帐户 支持 PAM。 |
|
仅 .rhosts (v1) |
用户帐户 |
用户帐户 /etc/ssh/sshd_config 中的 IgnoreRhosts no /etc/shosts.equiv、/etc/hosts.equiv、~/.shosts 或 ~/.rhosts 中的本地主机项 |
仅在服务器上使用 RSA (v1) 的 .rhosts |
用户帐户 /etc/ssh/ssh_host_rsa1_key 中的本地主机公钥 |
用户帐户 /etc/ssh/ssh_known_hosts 或 ~/.ssh/known_hosts 中的本地主机公钥 /etc/ssh/sshd_config 中的 IgnoreRhosts no /etc/shosts.equiv、/etc/hosts.equiv、~/.shosts 或 ~/.rhosts 中的本地主机项 |