通过终端通过 SSH 连接到服务器的 2222 端口

通过终端通过 SSH 连接到服务器的 2222 端口

我无法通过终端通过 SSH 进入我的服务器。到目前为止,我尝试过:

ssh root@ip-addressssh username@ip-address

但都没有奏效。我的屏幕有一段时间是空白的,然后最终

操作超时

我也尝试过切换到其他位置并使用不同的互联网服务提供商,因此我很确定问题不是防火墙。

我可以通过 FTP 登录。

这是我得到的:

$ ssh hosting-account-username@ip-address
ssh: connect to host ip-address port 22: Operation timed out

我也尝试过这个,但没有结果:

$ nc ip-address 22

我已经 ping 过该地址:

$ ping ip-address
64 bytes from ip-address icmp_seq=143 ttl=45 time=44.543 ms
64 bytes from ip-address icmp_seq=143 ttl=45 time=43.686 ms
64 bytes from ip-address icmp_seq=143 ttl=45 time=46.501 ms
-- and so on 

我的托管公司告诉我我确实有 SSH,但是在端口 2222(而不是 22),因为我有一个共享托管帐户并尝试过此操作:

$ nc ip-address -p [2222]
nc: missing hostname and port
usage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval]
          [-p source_port] [--apple-delegate-pid pid] [--apple-delegate-uuid uuid]
          [-s source_ip_address] [-w timeout] [-X proxy_version]
          [-x proxy_address[:port]] [hostname] [port[s]]

$ ssh username@ip-address:2222
ssh: Could not resolve hostname ip-address:2222: nodename nor servname provided, or not known

不确定还能尝试什么。

答案1

-p命令中的选项是nc源端口,您需要指定目标端口。

尝试$ nc ip-address 2222检查是否可以到达港口。

此外,我并不认为ssh命令接受语法hostname:port

不妨尝试$ ssh -p 2222 username@ip-address一下。

答案2

为了防止暴力攻击等,在非默认端口上运行ssh服务是相当常见的,因此您需要指定(正确的!)端口号。如果您不确定这是什么,您可以咨询您的服务提供商,或者您是否有其他方法来访问服务sudo netstat -ltnp | grep ssh

要进行连接,假设您使用端口 2222

ssh -p 2222 user@host

可以。对于scpsftp,选项更改为大写,因此

scp -P 2222 user@host:/path/to/remote/file /path/to/local/destination

如果您使用的是 *nix 系统(包括 Mac),您可以编辑~/.ssh/config和创建处理各种端口选项等的配置文件。

Host webhost
    HostName www.example.com
    Port 2222
    User webmaster
    IdentityFile ~/.ssh/www-private-key

然后只需通过连接即可,ssh webhost因为webhost配置文件为连接指定了主机名、端口号、用户等。

答案3

对我有用的是使用ssh user@IP -p 2222。系统要求输入密码,然后立即登录。

相关内容