我遇到了一个有趣的问题,即我无法通过 ssh 进入运行 bionic beaver 的服务器,除非我先 ping 它。大约一年前,我在另一台运行 ubuntu 16 的服务器上遇到了这个问题,但我修复了它,并没有记录下这个问题,因为我认为这是一个奇怪的、一次性的问题。在那种情况下,我无法访问任何服务,例如 ssh 和 web,直到我不断 ping。关键是我的另一台 Ubuntu 服务器能够通过 ssh 进入这台机器,没有任何问题。我的工作站是运行 High Sierra 的 iMac,是的,UFW 已被禁用。
root@server:/var/log# ufw status
Status: inactive
root@server:/var/log# aptitude search ssh
p erlang-ssh - Erlang/OTP implementation of SSH protocol
p libssh-4 - tiny C SSH library (OpenSSL flavor)
p libssh-dev - tiny C SSH library. Development files (OpenSSL flavor)
p libssh-doc - tiny C SSH library. Documentation files
p libssh-gcrypt-4 - tiny C SSH library (gcrypt flavor)
p libssh-gcrypt-dev - tiny C SSH library. Development files (gcrypt flavor)
i openssh-client - secure shell (SSH) client, for secure access to remote machines
i openssh-server - secure shell (SSH) server, for secure access from remote machines
i openssh-sftp-server - secure shell (SSH) sftp server module, for SFTP access from remote machines
i ssh - secure shell client and server (metapackage)
v ssh-client -
i ssh-import-id - securely retrieve an SSH public key and install it locally
v ssh-server -
root@server:/var/log# aptitude show ssh
Package: ssh
Version: 1:7.6p1-4ubuntu0.2
State: installed
Automatically installed: no
Priority: optional
Section: net
Maintainer: Ubuntu Developers <[email protected]>
Architecture: all
Uncompressed Size: 106 k
Depends: openssh-client (>= 1:7.6p1-4ubuntu0.2), openssh-server (>= 1:7.6p1-4ubuntu0.2)
PreDepends: dpkg (>= 1.17.5)
imac:~ iMac$ ssh -vvv administrator@server
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to server port 22.
ssh: connect to host server port 22: Operation timed out
有什么想法可以解释为什么我会难以从我的 Mac 进入这台机器吗?
答案1
您没有说明这种情况是否发生在同一个局域网、子网或其他什么地方。如果这种情况发生在本地,可能是由于错误的切换或某个 ARP 表中的错误数字,您的 SSH 请求无法到达主机。我会确保清除客户端和硬件上的所有表。在花太多时间调试服务器之前,请确保它不是网络问题。(注意:我真的很想把这个写成评论,但那是不可能的)
答案2
好吧,我是个笨蛋。事实证明,我在配置 IP 地址时使用了错误的子网 CIDR,我使用了 24 而不是 23,因此只有具有我们的 .2.x 子网的机器能够连接,而超出此范围的任何机器都被拒绝。我无法建立连接,为什么某些机器能够连接到它而其他机器却不能,直到我的主管从他的一台服务器上尝试并问“是不是只有某些子网才能连接”。灯泡熄灭了,我更改了子网值,现在我可以连接了。
感谢大家试图帮助我。TL:DR,在 netplan 中检查您的子网并确保它正确。@wolfenstein87 很笨。