在 Oracle® Solaris 11.2 中管理安全 Shell 访问

退出打印视图

更新时间: 2014 年 9 月
 
 

安全 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-API
GSS 机制的启动器凭证。
GSS 机制的接受器凭证。有关更多信息,请参见在安全 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 中的本地主机项
RSA 或 DSA 公钥
用户帐户
~/.ssh/id_rsa~/.ssh/id_dsa 中的私钥
~/.ssh/id_rsa.pub~/.ssh/id_dsa.pub 中的用户公钥
用户帐户
~/.ssh/authorized_keys 中的用户公钥