我正在尝试通过 VNC 连接到我的办公室 PC。我在两台计算机上都使用 Ubuntu 18.04。SSH 通常安装在办公室 PC 上,我通常使用它从那里连接到其他服务器。我还可以连接到研究所的其中一台服务器,并从那里使用 putty 登录我的 PC,但如果可能的话,我想尝试在不通过服务器的情况下连接到计算机。
我按照几个教程在办公室电脑上设置了 VNC 服务器,这是我所做的:
- 我通过以下方式安装了 VNC 服务器:“sudo apt-get -y install tightvncserver”;
- 使用“vncserver”启动会话并设置密码;
- 配置 VNC 以使用默认 GNOME 桌面,因此我按如下方式修改了 ~/.vnc/xtartup 文件:
#!/bin/sh
def
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
xsetroot -solid grey
gnome-session &
- 通过“vncserver -geometry 1280x720 -depth 24”启动 VNC 服务器。服务器正常运行
现在,我正在尝试使用以下命令建立 SSH 隧道:
ssh -L 5901:localhost:5901 -N -f -l USER IP
(我原本打算使用 Remmina 连接到 localhost:5901),但是出现了错误:
ssh: connect to host xxx.xxx.xxx.xx port 22: Connection refused
我在办公室电脑上运行了 sudo service ssh status,得到的结果如下:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-03-13 16:23:27 CET; 2 weeks 2 days ago
Main PID: 1870 (sshd)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/ssh.service
└─1870 /usr/sbin/sshd -D
有什么想法可以解决它吗?
答案1
ssh:连接到主机 xxx.xxx.xxx.xx 端口 22:连接被拒绝
“连接被拒绝”表示您的 ssh 客户端向服务器发送了连接请求,并收到服务器拒绝该请求的响应。这通常意味着服务器上没有进程正在监听到请求的地址和端口的连接。
最简单的解释是该sshd
进程未在远程服务器上运行。或者它正在运行,但它不接受地址 xxx.xxx.xxx.xx 端口 22 上的请求。它可能已配置为侦听其他端口或不同的 IP 地址。或者,可能有防火墙阻止您的连接请求,尽管这通常会产生不同的错误。
尝试在远程服务器上运行“netstat -an | grep 22”并查找如下行:
tcp4 0 0 *.22 *.* LISTEN
“*.22” 表示“任意地址,端口 22”,“LISTEN” 表示有一个进程正在监听连接。如果您没有看到这样的一行,