当登录Linux系统时,我可以找到可用于通过ssh连接到机器的IP地址吗?

当登录Linux系统时,我可以找到可用于通过ssh连接到机器的IP地址吗?

在我们的实验室中,我们有一个 Linux 服务器,我们可以使用特定 IP 本地登录或通过 ssh 登录。当我登录到机器时,我可以使用ifconfig或查看其内部 IP ip a,并且可以通过类似 的内容查看其外部 IP curl icanhazip.com。然而,最后一个命令报告的外部IP与我使用ssh连接到机器时输入的外部IP不同,我相信报告的IP是我们路由器的IP。

当我在本地登录到机器时,我是否可以找出哪些IP地址可用于ssh进入系统(不是登录用户的IP地址,而是我可以使用哪些IP地址)命令ssh ###.###.###.###)。我想在不登录路由器管理面板来查看正在转发哪些 IP 地址和端口的情况下找到这一点。 ssh IP 地址是否会存储在文件中(我在 中找不到任何内容/etc/sshd_config),或者是否有一个命令可以运行来显示它,就像使用内部 IP 一样?

答案1

许多实用程序都会显示用户的 IP 地址,包括whowlast -ai

当然,如果发生任何形式的重定向,您可能会查看执行重定向的计算机。

答案2

如果我理解正确的话,您想知道是否可以位于路由器后面的 LAN 节点上,并且从那台机器查看您的路由器使用哪些端口来转发 SSH 流量?如果这是问题所在,那么在您的场景中将没有办法做到这一点。路由器配置对您来说是不可见的,但是有多种方法可以进行探测以找到它。

如果它是专用网络并且您有授权,您可以运行标准网络映射 (nmap) 和/或netstat在终端中保持打开状态。更好的是,获得详细的输出(插入防火墙解决方案,如 ufw 或 firewalld 或只是 iptables)并启动/停止服务,您的防火墙将准确地告诉您 ssh 从双方(路由器中的路由器)正在 ping/阻止/使用哪些端口, 你出去)。使用 Deb/Ubuntu/Mint 最简单的方法就是gufw以 sudo 打开并在输入后查看日志 sudo systemctl restart ssh

如果问题是如何找到您的内部或外部 IP,我认为这已经涵盖了。但如果没有端口,知道这些数字是没有用的(我确信您知道 SSH 的默认值是 22)。

答案3

ip route get 8.8.8.8 | awk '{print $NF; exit}'

给出你的本地IP地址

IP=$(curl -s http://www.whatsmyip.website); echo $IP

将 IP 地址输入路由器

相关内容