Linux/UNIX:配置 OpenSSH 以监听 IPv6 地址
sshd_config 文件中的指令ListenAddress指定 sshd 应监听的本地 IPv4 和 IPv6 地址。本页介绍如何在 Linux 或类 Unix 系统下设置并强制 sshd 监听 IPv4、IPv6 或两个 IP 协议版本。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | Linux 终端 |
类别 | 终端/ssh |
操作系统兼容性 | BSD • Linux • macOS • Unix |
预计阅读时间 | 3 分钟 |
在 Linux 或 Unix 服务器上启用 OpenSSH 以监听 IPv6 地址的过程
- 打开终端应用程序。
- 对于远程服务器,使用 ssh 命令登录。
- 编辑/etc/ssh/sshd_config文件
- 然后找到包含ListenAddress
- 设置或附加ListenAddress ::以监听服务器上的所有 IPv6 和 IPv4 地址。
- 重新加载 sshd 服务
让我们详细了解您的 Linux、BSD 和 Unix 服务器的所有示例和情况。
如何配置 OpenSSH 以监听 IPv6 地址
以下是如何使用cat或 egrep 命令/ grep 命令来定位配置:输出:
# grep ListenAddress /etc/ssh/sshd_config
$ sudo grep -Ri ListenAddress /etc/ssh/
[sudo] password for vivek: /etc/ssh/sshd_config:#ListenAddress 0.0.0.0 /etc/ssh/sshd_config:#ListenAddress ::
句法
对于 sshd 的 IPv6,语法如下:
ListenAddress host ListenAddress IPv4_addr:port ListenAddress [IPv6_addr]:port
使用文本编辑器(例如 nano 或 vim)编辑/etc/ssh/sshd_config文件(或),输入:
要将 sshd 绑定到服务器上的每个 IPv4 和 IPv6 地址,请输入:/etc/ssh/sshd_config.d/ipv6.conf
# vim /etc/ssh/sshd_config
# Using latest version of openssh? Try sshd_config.d dir #
# vim /etc/ssh/sshd_config.d/ipv6.conf
ListenAddress 0.0.0.0 ListenAddress ::
想要将 sshd 绑定到服务器上的每个 IPv6 2607:f0d0:1002:11::2 地址?请尝试:
ListenAddress [2607:f0d0:1002:11::2]
如何指定自定义端口?例如,要将 sshd 绑定到 Linux 和 Unix 服务器上的每个 IPv6 2607:f0d0:1002:11::2 地址和 TCP 端口 311,请输入:
ListenAddress [2607:f0d0:1002:11::2]:311
配置 SSH 以侦听 IPv6 地址
- 如果没有指定端口,sshd 将监听该地址和所有先前指定的端口选项。
- 默认监听所有本地地址。允许多个 ListenAddress 选项。
- 此外,对于非端口合格地址,任何端口选项都必须位于此选项之前。
保存并关闭文件。如果您更改了端口,请更新您的iptables或 pf 防火墙或ufw 命令/ iptables 命令配置。例如,以下是我在使用 ufw 为 ssh 打开 TCP 端口 2222时在 Debian 或 Ubuntu Linux 上更新防火墙配置的方法:
$ sudo ufw allow 2222/tcp
## Allow ssh specific IPv6 such as 2606:4700::6810:84e5
$ sudo ufw allow from 2606:4700::6810:84e5 to any port 22 proto tcp
相关另外,请查看我们针对Alpine Linux Awall、CentOS 8、OpenSUSE、RHEL 8、Debian 12/11、Ubuntu Linux 版本16.04 LTS / 18.04 LTS / 20.04 LTS和22.04 LTS 的
所有完整防火墙教程。
检查 sshd 服务器配置
在重新启动 sshd 服务器之前,还要检查语法错误。例如:
# /usr/sbin/sshd -t
最后,根据您的 Linux 或 Unix 操作系统版本重新加载 sshd :
# service sshd reload
# Are you using systemd based Linux distro? Try #
# systemctl reload sshd
总结
您知道如何通过编辑配置文件来配置 SSH 以监听 IPv6 或 IPv4 地址。使用 man 命令查看以下手册页:
$ man 5 sshd_config
- 20 个 OpenSSH 服务器最佳安全实践
- 如何在 Linux / Unix 系统上设置 SSH 密钥
- Linux / Unix 用户的 OpenSSH 配置文件示例
- 审计 Linux/Unix 上的 SSH 服务器和客户端配置
- 如何在 FreeBSD 上安装和升级 OpenSSH 服务器
- Ubuntu Linux 安装 OpenSSH 服务器
- 在 Alpine Linux 上安装 OpenSSH 服务器(包括 Docker)
- Debian Linux 安装 OpenSSH SSHD 服务器
- 配置 OpenSSH 以监听 IPv6 地址
- OpenSSH 服务器连接在几分钟不活动后断开
- 在 OpenSSH 身份验证之前显示横幅/消息
- 强制 OpenSSH(sshd)仅监听选定的多个 IP 地址
- OpenSSH 使用 ssh-keygen 命令更改密码
- 重复使用 SSH 连接以通过多路复用加速远程登录过程
- 重新启动 SSHD 服务器之前检查语法错误
- 更改 Linux 或 Unix 服务器上的 ssh 端口
- OpenSSH 拒绝或限制用户和组的访问
- Linux OpenSSH 服务器拒绝 root 用户访问/登录
- 在 Linux 上禁用 ssh 密码登录以提高安全性
- SSH ProxyCommand 示例:通过一台主机到达服务器
- OpenSSH 多路复用器可加速 OpenSSH 连接
- 在远程 Linux / UNIX 服务器中安装 / 附加 SSH 密钥 Authorized_keys
- 使用 ssh-copy-id 与监听不同端口的 OpenSSH 服务器配合使用