我最近遇到了一种情况,我需要将同一子网上的两个 IP 地址分配给一台 Linux 主机,以便我们可以运行两个 SSL/TLS 站点。我的第一种方法是使用 IP 别名,例如使用 eth0:0、eth0:1 等,但我们的网络管理员有一些相当严格的安全设置,从而粉碎了这个想法:
在交换机配置上可能有解决这些问题的方法,但为了与网络管理员保持良好的关系,我试图找到另一种方法。拥有两个网络接口似乎是下一个合乎逻辑的步骤。幸运的是,这个 Linux 系统是一个虚拟机,所以我能够轻松添加第二个网络接口(无需重新启动,我可能会添加 - 非常酷)。几次击键后,我启动并运行了两个网络接口,并且都从 DHCP 中提取了 IP 地址。
但问题来了:网络管理员可以(在交换机上)看到两个接口的 ARP 条目,但只有我提出的第一个网络接口会响应 ping 或任何类型的 TCP 或 UDP 流量。
经过大量的挖掘和戳,这就是我想出的。它似乎有效,但对于看起来应该很简单的事情来说,它似乎也需要做很多工作。有什么替代想法吗?
步骤 1:在所有接口上启用 ARP 过滤:
# sysctl -w net.ipv4.conf.all.arp_filter=1
# echo "net.ipv4.conf.all.arp_filter = 1" >> /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
来自 …
我想使用空密码为服务帐户(我们称之为“serviceacct”)配置 OpenSSH 6.2p2,它执行以下操作:
本质上,这将为已知用户提供一种行为,而为匿名用户提供另一种行为。
在理想的世界中, sshd_config 中的这些设置会做我想要的:
PubkeyAuthentication yes
PasswordAuthentication yes
Match User serviceacct
PermitEmptyPasswords yes
ForceCommand /my/program
Run Code Online (Sandbox Code Playgroud)
但我遇到了几个问题:
ForceCommand /my/program 覆盖authorized_keys 文件中设置的强制命令。除了修改OpenSSH服务器之外,有没有办法解决这两个问题?我能想到的一个明显的解决方法是只使用两个服务帐户 - 一个用于仅使用公钥身份验证的已知用户,另一个用于仅使用空密码身份验证的匿名用户。如果可能,我试图避免拥有两个用户帐户。
我正在构建一个托管各种版本控制系统存储库(Subversion、Git 和 Mercurial)的服务。想想 GitHub 或 Bitbucket,但在本地托管(这是关键,因为我们的一些工作不能离开我们的网站)。可以说,这些版本控制系统通用的最简单的访问方法是 SSH。
每个存储库都有针对已知和匿名用户的可配置访问规则。我希望能够为任何版本控制系统使用相同的 URL 来支持已知和匿名用户。由于托管存储库的用户是 URL(例如ssh://user@host/path)的一部分,因此拥有两个不同的用户 - 一个用于已知用户,另一个用于匿名用户 - 将需要两个不同的 URL。
我应该澄清一个技术问题:我实际上是AuthorizedKeysCommand在 sshd_config 中使用指令,它指示 sshd 使用外部程序的输出而不是读取 ~/.ssh/authorized_keys 文件。
我在服务器上运行免费的 ESXi 4.1 并使用免费的 vSphere Client 访问服务器。我想将主机名更改为localhost.$DOMAIN其他名称,但是当我转到配置 -> DNS 和路由 -> 属性时,名称和域框是灰色的,我无法编辑它们。我该怎么做才能更改主机名?