要让 Linux SSH 监听 IPv6,需要编辑 SSH 配置文件 /etc/ssh/sshd_config,将 AddressFamily 设置为 any 或 ipv6,或者取消注释 ListenAddress :: 这一行,然后重载 sshd 服务。
详细步骤:
1. 编辑 SSH 配置文件
-
使用文本编辑器(如
vim)打开/etc/ssh/sshd_config文件:
bashsudo vim /etc/ssh/sshd_config
2. 配置监听选项
-
方法一(推荐):设置
AddressFamily- 找到或添加
AddressFamily行,将其设置为any。如果该行被注释(以#开头),请删除#。 - 例如:
AddressFamily any - 找到或添加
-
方法二:取消注释
ListenAddress ::- 找到
#ListenAddress ::这一行,删除前面的#,使其变成ListenAddress ::。 - 注意:如果服务器有多个网络接口,你也可以单独指定 IPv6 地址,例如
ListenAddress 2001:db8::1。
- 找到
3. 保存并退出
- 在
vim中,按Esc键,然后输入:wq并按回车键保存并退出。
4. 重载 SSH 服务
-
使用以下命令重载
sshd服务的配置,使其生效:
bashsudo systemctl reload sshd
5. 验证监听状态
- 使用
netstat或ss命令检查 SSH 是否正在监听 IPv6 端口(通常是端口 22):
bash
sudo netstat -tupln | grep sshd
# 或者
sudo ss -tuln | grep sshd
如果看到类似 :::22 的输出,表示 SSH 已经成功监听 IPv6 地址。

评论区