本来说要联系一下使用logism画电路图的,结果跑去研究怎么用ssh和vnc远程连接南京大学dlco实验环境了。花了半个小时,研究了一下,算是成功了。下面是我总结的步骤。

SSH连接

首先我们确认一下实验环境里面有没有ssh服务。我们可以在终端输入以下命令:

1
2
# service ssh status
* sshd is running

这就显示ssh服务正在运行。接下来看一下一般ssh用到的22端口是否监听:

1
2
3
# netstat -tlnp | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 29/sshd
tcp6 0 0 :::22 :::* LISTEN 29/sshd

可以看到22端口正在监听。接下来我们需要知道实验环境的ip地址,可以通过ifconfig,但是看到的是机房的内网ip地址,无法直接连接。我们需要通过ssh隧道来连接。
这里,实验网站贴心的准备了“SSH直连”的选项,点击后会显示ip地址:

点红色圈出的按钮

点红色圈出的按钮

复制这里的地址

然后,我们需要修改一下ssh的配置文件/etc/ssh/sshd_config,检查下面两项是否取消注释或者者设置为yes:

1
2
PermitRootLogin yes
PasswordAuthentication yes

当然,你也可以无密码登陆,也就是把PermitEmptyPasswords设置为yes,但是为了不必要的安全原因,还是用一下密码吧;也可以配置公钥认证,但是有点麻烦。修改完之后,重启ssh服务:

1
2
# service ssh restart
* Restarting OpenBSD Secure Shell server sshd

然后我们配置一下root密码:

1
# passwd

现在还不能直接连,因为没有配置端口转发,我们直接连的话没法转发到22端口。然而,实验平台又很贴心的提供了了一个“服务预览”的选项,我们可以配置一下端口转发。细心的读者应该在上面发现这个选项了,应该是第二张图。点击之后会显示下面的界面:

服务预览界面

点右上角的“添加端口”,输入22,点击保存:

添加端口

记一下这里的端口号

现在我们就可以通过ssh连接了,打开你的pwsh/bash/iTerm:

1
ssh -p <上面记下的端口号> root@<上面复制的ip地址>

输入密码之后应该就可以成功连接了。

连接成功!

这里把ip和端口都亮出来了,但是由于设置了密码,谅你们也连不上。

VNC连接

命令行毕竟不方便,和我们本地画电路图的需求还有很大出入,所以我们还需要配置一下VNC连接。首先,我们检查一下实验机上有没有安装vnc服务:

检查一下vnc服务

一般是有的,因为实验平台也是要提供GUI的,应该走的也是VNC。如果没有,那就没辙了。然后我们同样改一下VNC的密码:

1
# vncpasswd

记住你的密码,这很重要。然后我们同样需要配置一下端口转发,一般是590开头。

检查端口

这里是5901端口,像上面一样配置端口转发。然后记一下外部端口号。打开RealVNC Viewer,或者随便一个VNC客户端,输入那个“外部访问”的地址,敲回车。应该看到一个“Unencrypted connection”的红色警告,无视它,点击继续:

连接VNC

然后输入你设置的密码:

输入密码

如果一切顺利的话,你就可以看到实验环境的桌面了:

成功连接VNC

搞定。然而没啥用,毕竟画电路图还是要在本地画比较方便,远程连接的意义不大,似乎没法远程评测。
2026年3月29日。