以下过程将设置一个公钥系统,其中客户机的公钥用于服务器上的验证。用户还必须创建公钥/私钥对。
在此过程中,术语客户机和本地主机是指用户键入 ssh 命令的计算机。术语服务器和远程主机是指客户机要尝试访问的计算机。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
在客户机上,启用基于主机的验证。
在客户机配置文件 /etc/ssh/ssh_config 中,键入以下项:
HostbasedAuthentication yes |
在服务器上,启用基于主机的验证。
在服务器配置文件 /etc/ssh/sshd_config 中,键入相同的项:
HostbasedAuthentication yes |
在服务器上,配置文件以允许将客户机识别为受信任主机。
有关更多信息,请参见 sshd(1M) 手册页中的 FILES 部分。
在服务器上,确保 sshd 守护进程可以访问受信任主机的列表。
在 /etc/ssh/sshd_config 文件中,将 IgnoreRhosts 设置为 no。
# sshd_config IgnoreRhosts no |
确保站点上的 Solaris 安全 Shell 用户在两台主机上都拥有帐户。
执行以下操作之一,以将客户机的公钥放到服务器上。
修改服务器上的 sshd_config 文件,然后指示用户将客户机的公共主机密钥添加到其 ~/.ssh/known_hosts 文件中。
# sshd_config IgnoreUserKnownHosts no |
有关用户说明,请参见如何生成用于 Solaris 安全 Shell 的公钥/私钥对。
将客户机的公钥复制到服务器。
主机密钥存储在 /etc/ssh 目录中。这些密钥通常由 sshd 守护进程在首次引导时生成。
在以下示例中,每台主机同时配置为服务器和客户机。任一主机上的用户都可以启动与另一台主机的 ssh 连接。以下配置可使每台主机同时成为服务器和客户机:
在每台主机上,Solaris 安全 Shell 配置文件都包含以下项:
# /etc/ssh/ssh_config HostBasedAuthentication yes # # /etc/ssh/sshd_config HostBasedAuthentication yes IgnoreRhosts no |
在每台主机上,shosts.equiv 文件都包含对应于另一台主机的项:
# /etc/hosts.equiv on machine2 machine1 |
# /etc/hosts.equiv on machine1 machine2 |
每台主机的公钥位于另一台主机的 /etc/ssh/ssh_known_hosts 文件中:
# /etc/ssh/ssh_known_hosts on machine2 … machine1 |
# /etc/ssh/ssh_known_hosts on machine1 … machine2 |
用户在两台主机上都拥有帐户:
# /etc/passwd on machine1 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh |
# /etc/passwd on machine2 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh |