当我尝试从 Windows 机器上的 gitbash ssh 到本地 ubuntu 服务器时出现此错误:
$ ssh 192.168.1.11
ssh: connect to host 192.168.1.11 port 22: Bad file number
我发现的其他答案似乎与 Linux 到 Linux 的连接有关。我是新手,您能提供如何实现这一点的信息吗?
跑步nmap -sS 192.168.1.11 -p 22
:
C:\Users\Me>nmap -sS 192.168.1.11 -p 22
Starting Nmap 6.40 ( http://nmap.org )
Nmap scan report for 192.168.1.11
Host is up (0.0040s latency).
PORT STATE SERVICE
22/tcp filtered ssh
MAC Address: 20:16:D8:3E:E0:30 (Liteon Technology)
Nmap done: 1 IP address (1 host up) scanned in 13.70 seconds
跑步:ssh -v 192.168.1.11 -p 443
:
$ ssh -v 192.168.1.11 -p 443
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Users/Me/.ssh/config
debug1: Applying options for 192.168.1.11
debug1: Connecting to 192.168.1.11 [192.168.1.11] port 443.
debug1: connect to address 192.168.1.11 port 443: Attempt to connect timed out w
ithout establishing a connection
ssh: connect to host 192.168.1.11 port 443: Bad file number
即使我像.ssh/config
这样编辑:
Host ubuntu.dev
Hostname 192.168.1.11
User meubuntu
并且连接到ssh ubuntu.dev
它仍然不起作用
答案1
我知道这是一个老问题,但是它在 Google 搜索中排名很高,所以,对于任何在从 Windows 到 Linux 机器进行 SSH 时遇到问题的人来说,就我而言,问题在于我没有在我的 Linux Mint 机器上安装 SSH 服务器。
即使你做安装了 SSH(例如用于连接到另一台计算机),您需要此包来启用接收连接。
sudo apt-get install openssh-server
答案2
从你的nmap
输出
PORT STATE SERVICE
22/tcp filtered ssh
您可以看到 的状态port 22
设置为已过滤,这意味着它被您的 ISP 或某些防火墙阻止。我们可以使用port 443
进行不会被 ISP 或防火墙阻止的 ssh,如下所示。
ssh -v 192.168.1.11 -p 443
这将使用 连接到 ssh port 443
。
有关更多方法,请参阅这个问题。