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