如何找到我的 Linux 机器的 ssh 访问权限?

如何找到我的 Linux 机器的 ssh 访问权限?

我对编码和软件开发还很陌生,所以这个问题听起来可能有点愚蠢,但我已经有一台 Linux 机器,我想从另一台机器连接到那台 Linux 机器,但要做到这一点,我需要 SSH 地址。我的问题是如何找到我的 Linux 机器的 ssh 地址,以便我可以通过另一台机器连接到它?

答案1

要使用 Internet 协议 (IP) 进行连接(用于网页浏览、电子邮件和其他用途,例如安全外壳 (SSH)),需要知道IP地址IP 端口。 按照惯例,端口 22 用于 SSH,尽管这也不是一成不变的。

例如,如果 Edge 或 Firefox 等 Web 浏览器通过 HTTPS 连接到 Google.com,它会在 Cloudflare 等 DNS 服务器上查找 IP 地址,并获取2607:f8b0:4006:823::200eGoogle.com 的 IPv6 地址。HTTPS 的惯例是使用端口 443,因此包含端口的完整地址是2607:f8b0:4006:823::200e:443

您需要找到另一台计算机的 IPv4 或 (IPv6) 地址,并通过端口 22 连接到该地址。如果您使用的是家庭网络,许多路由器会使用分配一段时间的 IP 地址连接每台计算机。您的计算机可能会使用192.168.0.2,而局域网 (LAN) 中的另一个可能被分配了 192.168.0.5。在许多 Linux 发行版中,输入ip addr show在终端中找到机器地址...或者使用缩写ip a。。

答案2

在“机器”(即“主机”)上打开 shell 并发出

sudo ss -tuanop | grep sshd

它会询问您的登录密码,因为它需要 root 权限才能读取守护进程的详细信息。

如果出现“未找到命令”错误,请使用命令

sudo netstat -tuanop | grep sshd

您将(希望)获得类似以下内容的内容

tcp        0      0 0.0.0.0:22           0.0.0.0:*               LISTEN      56723/sshd: /usr/sb  off (0.00/0/0)
tcp6       0      0 :::22                :::*                    LISTEN      56723/sshd: /usr/sb  off (0.00/0/0)

这告诉你:

  • sshd 正在运行并提供服务。
  • 使用的端口是22
  • 主机具有可用的 IPv4 和 IPv6 地址。

如果为空,则 ssh-server 守护进程未处于活动状态。——那么先解决该问题。

发出命令

ip --brief addr

这将显示主机当前使用的 IP 地址:

lo               UNKNOWN        127.0.0.1/8 ::1/128 
enp4s0           UP             192.168.188.15/24 2001:db7b::10/64 
wlp3s0           DOWN        
  • IPv4 地址是192.168.188.15
  • IPv6 地址是2001:db7b::10

发出命令

hostname

输出是您的 Linux 计算机的(网络)名称。如果您的网络中所有配置都正确,则可以用此名称来寻址您的计算机。否则,您必须使用 IP 地址。
这里的输出是

linuxmachine

您应该知道您的用户名。否则问题

whoami

获取您的用户名。

了解这些详细信息后,您可以尝试从网络中的计算机进行连接:

使用上面的示例,您可以通过以下命令之一连接 ssh:

# As the port 22 is default you can use the simplest command:
ssh username@linuxmachine

#To tell explicitely the port
ssh -p22 username@linuxmachine

#If "linuxmachine is not found, use an IP-address:
ssh -p22 [email protected]

#or by IPv6 address:
ssh -p22 username@fe80::978b:e12:c126:15ca
´´´

相关内容