/etc/ssh/ssh_config
/etc/ssh/ssh_config文件是 OpenSSH 的系统级配置文件,允许您设置选项来修改客户端程序的操作。该文件包含关键字-值对,每行一对,关键字不区分大小写。以下是配置 ssh 以获得最高安全性的最重要关键字;完整的列表和/或特殊要求可在 ssh(1) 的 man 手册中找到。
编辑ssh_config文件,使用 vi 命令/etc/ssh/ssh_config并添加/或更改以下参数(如果必要)
# Site-wide defaults for various options Host * ForwardAgent no ForwardX11 no RhostsAuthentication no RhostsRSAAuthentication no RSAAuthentication yes PasswordAuthentication yes FallBackToRsh no UseRsh no BatchMode no CheckHostIP yes StrictHostKeyChecking no IdentityFile ~/.ssh/identity Port 22 Cipher blowfish EscapeChar ~ |
选项Host将配置文件中所有转发声明和选项限制为仅适用于与关键字后给出的模式之一匹配的主机。模式*意味着适用于所有主机,直到下一个 Host 关键字。使用此选项,您可以在同一个ssh_config文件中为不同的主机设置不同的声明。
选项ForwardAgent指定是否应将连接身份验证代理转发到远程计算机。
选项ForwardX11适用于使用Xwindow GUI(图形用户界面)并希望自动重定向X11会话到远程计算机的人员。由于我们设置的是服务器,并且没有在其上安装 GUI(图形用户界面),因此我们可以安全地关闭此选项。
选项RhostsAuthentication指定我们是否可以尝试使用基于 rhosts 的身份验证。由于 rhosts 身份验证是不安全的,因此您不应使用此选项。
选项RhostsRSAAuthentication指定是否尝试将 rhosts 身份验证与 RSA 主机身份验证结合使用。
选项RSAAuthentication指定是否尝试 RSA 身份验证。为了提高会话的安全性,此选项必须设置为yes。RSA 使用 ssh-keygen1utility 创建的公钥和私钥对进行身份验证。
选项PasswordAuthentication指定我们是否应使用基于密码的身份验证。为了获得强大的安全性,此选项必须始终设置为yes.
选项FallBackToRsh指定如果与 ssh 守护程序的连接失败,是否应自动使用 rsh 代替。回顾一下 rsh 服务是不安全的,此选项必须始终设置为no.
选项UseRsh指定是否应在此主机上使用 rlogin/rsh 服务。与FallBackToRsh选项一样,由于显而易见的原因,它必须设置为no。
选项BatchMode指定是否禁用连接时查询用户名和密码。当您创建脚本并且不想提供密码时,此选项很有用。例如,使用 scp 命令通过网络进行备份的脚本。
选项CheckHostIP指定 ssh 是否会额外检查连接到服务器的主机 IP 地址,以检测 DNS 欺骗。建议您将此选项设置为yes.
选项StrictHostKeyChecking指定 ssh 是否会自动将新的主机密钥添加到$HOME/.ssh/known_hosts文件,或者从不自动将新的主机密钥添加到主机文件。当此选项设置为yes时,可提供针对木马攻击的最大保护。关于此选项的一个有趣的过程是首先将其设置为no,允许 ssh 自动将所有常见主机添加到主机文件,因为它们已连接,然后返回将其设置为yes以利用此功能。
选项IdentityFile指定要读取的备用 RSA 身份验证身份文件。此外,可以在配置文件中指定多个身份文件ssh_config.
选项Port指定 ssh 连接到远程主机的端口号。默认端口是 22。
选项Cipher指定应用于加密会话的密码。blowfish 使用 64 位块和最多 448 位的密钥。
选项EscapeChar指定会话挂起的转义字符。