Solaris 10 Openssh安装和配置
SSH(Secure Shell)最初是由芬兰的一家公司开发的,但受限于版权和加密算法,很多人转而选择了免费的替代品——OpenSSH。SSH本身由客户端和服务端两部分组成,有两个不兼容的版本:1.x 和 2.x。这里要特别留意:如果你用SSH 2.x的客户端,是没法连接到SSH 1.x的服务端上的
SSH(Secure Shell)最初是由芬兰的一家公司开发的,但受限于版权和加密算法,很多人转而选择了免费的替代品——OpenSSH。SSH本身由客户端和服务端两部分组成,有两个不兼容的版本:1.x 和 2.x。这里要特别留意:如果你用SSH 2.x的客户端,是没法连接到SSH 1.x的服务端上的。而OpenSSH 2.x则同时兼容1.x和2.x,算是个贴心设计。
Solaris 10 默认搭载的 SSH 服务端正是 OpenSSH(opensshd),当然也有商业版的 sshd 可选,但就目前来看,openssh 已经在安装系统时一并装好,并且随着系统自动启动。你可以用 svcs 命令来确认 ssh 是否正常运行(见图2)。确认没问题之后,就可以把不安全的 telnet 服务关掉了。

图2 关闭不安全的telnet服务
接下来,咱们需要深入理解 OpenSSH 的核心配置文件:/etc/ssh/sshd_config。这个文件控制着守护进程的运行方式,每一行都是“关键词-值”的配对,关键词不区分大小写。下面列出的是最重要的参数,编辑文件(vi /etc/ssh/sshd_config)时,可以按需加入或修改(#后面是说明):
- Protocol 2 —— 使用版本2协议(推荐)。
- Port 22 —— sshd 监听的端口号。
- ListenAddress :: —— sshd 绑定的 IP 地址。
- AllowTcpForwarding no —— 是否允许端口转发,一般建议关闭以增强安全性。
- GatewayPorts no —— 是否允许使用网关端口。
- X11Forwarding yes —— 是否允许 X11 转发。
- X11DisplayOffset 10 —— X11 显示偏移量。
- X11UseLocalhost yes —— 是否将 X11 连接绑定到本地。
- PrintMotd no —— 用户登录时是否显示 /etc/motd 中的信息,建议关闭。
- KeepAlive yes —— 保持连接检测。
- SyslogFacility auth —— 日志设施。
- LogLevel info —— 日志记录级别,INFO 是一个不错的选择。
- HostKey /etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key —— 指定服务器私钥文件。
- ServerKeyBits 768 —— 服务器密钥位数。
- KeyRegenerationInterval 3600 —— 自动重新生成服务器密钥的间隔(秒),防止密钥被盗用。
- StrictModes yes —— 检查用户家目录和 rhosts 文件的权限,新手容易设置成所有人可写,这个选项很有必要。
- LoginGraceTime 600 —— 登录超时时间。
- MaxAuthTries 6 —— 最大认证尝试次数。
- MaxAuthTriesLog 3 —— 记录的最大认证尝试次数。
- PermitEmptyPasswords no —— 禁止空密码登录,安全底线。
- PasswordAuthentication yes —— 是否允许密码认证。
- PAMAuthenticationViaKBDInt yes —— 是否通过键盘交互进行 PAM 认证。
- PermitRootLogin no —— 禁止 root 直接登录,建议用普通用户 su 或 sudo。
- Subsystem sftp /usr/lib/ssh/sftp-server —— 启用 sftp 子系统。
- IgnoreRhosts yes —— 忽略 rhosts 文件。
- RhostsAuthentication no —— 不使用 rhosts 认证。
- RhostsRSAAuthentication no —— 不使用基于 RSA 的 rhosts 认证。
- RSAAuthentication yes —— 是否允许 RSA 安全验证。
另一个重要的配置文件是 /etc/ssh/ssh_config,它是 OpenSSH 系统范围的客户端配置。下面逐项说明常用选项:
- Host * —— 该选项仅对能匹配后面字串的计算机生效,
*表示所有计算机。 - ForwardAgent no —— 是否将连接验证转发给远程计算机。
- ForwardX11 no —— 是否自动重定向 X11 连接。
- RhostsAuthentication no —— 不使用基于 rhosts 的认证。
- RhostsRSAAuthentication no —— 不使用基于 RSA 的 rhosts 认证。
- RSAAuthentication yes —— 使用 RSA 算法进行安全验证。
- PasswordAuthentication yes —— 使用口令验证。
- FallBackToRsh no —— SSH 连接失败后不自动回退到 rsh。
- UseRsh no —— 不使用 rlogin/rsh。
- BatchMode no —— 若设为 yes,则禁止交互式口令输入,对脚本和批处理任务很有用。
- CheckHostIP yes —— 检查连接服务器的 IP 地址,防止 DNS 欺骗,建议开启。
- StrictHostKeyChecking no —— 如果设为 yes,ssh 不会自动将主机密钥加入 known_hosts,且一旦密钥变化就拒绝连接。默认 no 更适合日常使用。
- IdentityFile ~/.ssh/identity —— 指定 RSA 安全验证标识文件。
- Port 22 —— 连接远程主机的默认端口。
- Cipher blowfish —— 加密密码算法。
- EscapeChar ~ —— 转义字符。
通过调整 sshd_config 和 ssh_config 这两个文件,你可以显著提升 SSH 的安全性。每个选项都值得根据实际环境仔细权衡。
上一页12 3 下一页 阅读全文


































