JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:安全服务     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  病毒扫描服务(任务)

5.  控制对设备的访问(任务)

6.  使用基本审计报告工具(任务)

7.  控制对文件的访问(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

10.  Oracle Solaris 中的安全属性(参考)

第 4 部分加密服务

11.  加密框架(概述)

12.  加密框架(任务)

13.  密钥管理框架

第 5 部分验证服务和安全通信

14.  网络服务验证(任务)

15.  使用 PAM

16.  使用 SASL

17.  使用 安全 Shell(任务)

安全 Shell(概述)

安全 Shell 验证

企业中的安全 Shell

安全 Shell 和 OpenSSH 项目

安全 Shell 和 FIPS-140 支持

安全 Shell(任务列表)

配置安全 Shell(任务)

配置 安全 Shell(任务列表)

如何为安全 Shell 设置基于主机的验证

如何在安全 Shell 中配置端口转发

如何创建不同于 SSH 系统缺省值的用户和主机例外

使用 安全 Shell(任务)

使用 安全 Shell(任务列表)

如何生成用于安全 Shell 的公钥/私钥对

如何更改安全 Shell 私钥的口令短语

如何使用安全 Shell 登录到远程主机

如何减少安全 Shell 中的口令提示

如何在安全 Shell 中使用端口转发

如何使用安全 Shell 复制文件

如何设置到防火墙外部主机的缺省连接

18.  安全 Shell(参考)

第 6 部分Kerberos 服务

19.  Kerberos 服务介绍

20.  规划 Kerberos 服务

21.  配置 Kerberos 服务(任务)

22.  Kerberos 错误消息和故障排除

23.  管理 Kerberos 主体和策略(任务)

24.  使用 Kerberos 应用程序(任务)

25.  Kerberos 服务(参考)

第 7 部分在 Oracle Solaris 中审计

26.  审计(概述)

27.  规划审计

28.  管理审计(任务)

29.  审计(参考)

词汇表

索引

配置安全 Shell(任务)

缺省情况下,安全 Shell 中未启用基于主机的验证,并且不允许同时使用两种协议。更改这些缺省设置需要管理干预。另外,要使端口转发正常工作,也需要管理干预。

配置 安全 Shell(任务列表)

以下任务列表列出了有关配置安全 Shell 的过程。

任务
说明
参考
配置基于主机的验证。
在客户机和服务器上配置基于主机的验证。
配置端口转发。
允许用户使用端口转发。
配置 SSH 系统缺省值例外。
对于用户、主机、组和地址,指定与系统缺省值不同的 SSH 设置。

如何为安全 Shell 设置基于主机的验证

以下过程设置一个公钥系统,其中使用客户机的公钥进行服务器上的验证。用户还必须创建一个公钥/私钥对。

在此过程中,术语客户机本地主机是指用户键入 ssh 命令的计算机。术语服务器远程主机是指客户机尝试访问的计算机。

开始之前

您必须是 root 角色。

  1. 在客户机上,启用基于主机的验证。

    在客户机配置文件 /etc/ssh/ssh_config 中,键入以下项:

    HostbasedAuthentication yes

    有关该文件的语法,请参见 ssh_config(4) 手册页

  2. 在服务器上,启用基于主机的验证。

    在服务器验证文件 /etc/ssh/sshd_config 中,键入相同的项:

    HostbasedAuthentication yes

    有关该文件的语法,请参见 sshd_config(4) 手册页

  3. 在服务器上,配置允许将客户机识别为可信主机的文件。

    有关更多信息,请参见 sshd(1M) 手册页的 FILES 部分。

    • 将客户机作为一项添加到服务器的 /etc/ssh/shosts.equiv 文件中。
      client-host
    • 或者,可以指示用户在服务器上将一个有关客户机的项添加到其 ~/.shosts 文件中。
      client-host
  4. 在服务器上,确保 sshd 守护进程可以访问可信主机列表。

    /etc/ssh/sshd_config 文件中,将 IgnoreRhosts 设置为 no

    ## sshd_config
    IgnoreRhosts no
  5. 确保站点上的安全 Shell 用户在两台主机上都拥有帐户。
  6. 执行以下操作之一,以将客户机的公钥放到服务器上。
    • 修改服务器上的 sshd_config 文件,然后指示用户将客户机的公共主机密钥添加到其 ~/.ssh/known_hosts 文件中。
      ## sshd_config
      IgnoreUserKnownHosts no

      有关用户说明,请参见如何生成用于安全 Shell 的公钥/私钥对

    • 将客户机的公钥复制到服务器。

      主机密钥存储在 /etc/ssh 目录中。这些密钥通常由 sshd 守护进程在首次引导时生成。

      1. 将密钥添加到服务器上的 /etc/ssh/ssh_known_hosts 文件中。

        在客户机上,在一行中键入以下命令(不带反斜杠)。

        # cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \
        'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"'
      2. 出现提示时,提供登录口令。

        复制该文件后,将显示 "Host key copied"(主机密钥已复制)消息。

        /etc/ssh/ssh_known_hosts 文件中的每一行均由空格分隔的字段组成:

        hostnames algorithm-name publickey comment
      3. 编辑 /etc/ssh/ssh_known_hosts 文件,添加 RemoteHost 作为复制的项中的第一个字段。
        ## /etc/ssh/ssh_known_hosts File
        RemoteHost <copied entry>

示例 17-1 设置基于主机的验证

在以下示例中,每台主机同时配置为服务器和客户机。任一主机上的用户都可以启动与另一台主机的 ssh 连接。以下配置可使每台主机同时成为服务器和客户机:

如何在安全 Shell 中配置端口转发

使用端口转发可以将本地端口转发到远程主机。实际上,分配了一个套接字用于侦听本地端的端口。同样,也可以在远程端指定端口。


注 - 安全 Shell 端口转发必须使用 TCP 连接。安全 Shell 不支持使用 UDP 连接进行端口转发。


开始之前

您必须是 root 角色。

  1. 配置远程服务器的安全 Shell 设置以允许端口转发。

    /etc/ssh/sshd_config 文件中,将 AllowTcpForwarding 的值更改为 yes

    # Port forwarding
    AllowTcpForwarding yes
  2. 重新启动安全 Shell 服务。
    remoteHost# svcadm restart network/ssh:default

    有关管理持久性服务的信息,请参见《Oracle Solaris 管理:常见任务》中的第 6  章 "管理服务(概述)"svcadm(1M) 手册页。

  3. 检验是否可以使用端口转发。
    remoteHost# /usr/bin/pgrep -lf sshd
     1296 ssh -L 2001:remoteHost:23 remoteHost

如何创建不同于 SSH 系统缺省值的用户和主机例外

此过程在 /etc/ssh/sshd_config 文件的全局部分之后添加了一个有条件的 Match 块。Match 块后的关键字-值对为指定为匹配的用户、组、主机或地址指定例外。

开始之前

您必须是 root 角色。

  1. 编辑 sshd_config 文件。
  2. 配置用户、组、主机或地址以使用不同于缺省设置的 SSH 关键字设置。

    Match 块置于全局设置之后。


    注 - 文件的全局部分可能列出缺省设置,也可能不列出。有关缺省值,请参见 sshd_config(4) 手册页。


    您可能有不允许使用 TCP 转发的用户。下列示例中,所有 public 组的用户和所有以 test 开头的用户名都不能使用 TCP 转发。

    ## sshd_config file
    ## Global settings
    
    # Example (reflects default settings):
    #
    # Host *
    #   ForwardAgent no
    #   ForwardX11 no
    #   PubkeyAuthentication yes
    #   PasswordAuthentication yes
    #   FallBackToRsh no
    #   UseRsh no
    #   BatchMode no
    #   CheckHostIP yes
    #   StrictHostKeyChecking ask
    #   EscapeChar ~
    Match Group public
     AllowTcpForwarding no
    Match User test*
     AllowTcpForwarding no

    有关 Match 块的语法信息,请参见 sshd_config(4) 手册页。