0

我在 Azure (ACS) 中使用 Kubernetes,想知道是否可以更改节点 VM 上的 SSH 端口。我想防止对默认 SSH 端口(端口 22)的暴力攻击,但我不想破坏任何集群内通信机制。如果这会有所作为,我会很乐意使用 acs-engine。

4

1 回答 1

0

首先,我 100% 同意 JonahB 的观点,即将节点暴露在狂野的互联网上是不必要的风险。我什至犹豫是否将其放入“答案”框中,因为它更像是一个肮脏的黑客,但它的字符太多,无法放在评论中;那说:

理论上,您可以利用kubelet远程控制 API 几乎直接进入这些机器上的 Linux 内核这一事实。DaemonSet部署到集群中的一个可以volumeMount /var/lib/dbus,然后使用systemd控制套接字关闭sshd.service,然后如果您确实需要,更新到DS(或单独的一个)可以为您选择的节点重新打开ssh ssh in. 或 volumeMount /etc/ssh,更改配置,然后使用相同的控制套接字重新启动 sshd.service。

我使用了一个非常相似的技巧,使用 volumeMount 和go-systemd库在节点上提供新的 systemd 服务;巧合的是,我碰巧对我在回答与此类似的问题时发布的systemd daemon-reload部分有所了解。

于 2018-02-07T07:09:44.427 回答