搭建Aqours Online Judge的琐琐碎碎(二)为何我更新了18.04以后就ssh不上去了啊?

事情发生在前几天,我闲着无聊经过Windows下的git bash链接到服务器,看到好久以前开始就挂在那里的18.04更新,因而命令行敲下do--release-upgrade,等着服务器慢慢本身跑更新而后去吃饭。吃完饭回来再进行ssh登录,却发现链接已经被拒绝,试了多台设备均没法经过ssh方式登录服务器。git

以后使用VNC进行登录——它至关于直接在远程服务器上链接了一台显示器,经过显示器来进行对服务器的操做,能够直接经过浏览器进行访问。本人测试了macOS下的Safari、Chrome浏览器和Windows下的Chrome、360极速浏览器,最后发现对腾讯云的VNC链接支持得最好的是Windows下的360极速。基本上命令与显示之类的都是正常的。算法

找好了可以支持的浏览器,就能够开始debug了。先用sudo service ssh status命令查看服务器的状态,显示错误——vim

Starting ssh (via systemctl): ssh.serviceJob for ssh.service failed because the control process exited with error code.
See "systemctl status ssh.service" and "journalctl -xe" for details.
failed!

问题的报错信息是——浏览器

ssh.service: Start request repeated too quickly.
ssh.service: Failed with result 'exit-code'.
Failed to start OpenBSD Secure Shell server.

而后再输入/usr/sbin/sshd -T查看状态,发现是/etc/ssh/sshd_config里的cipher出现了错误。本人在排这一次错的过程当中耗费时间最多的时候就是在尝试修改sshd_config配置文件。经过VNC使用vim的体验糟糕无比,几乎能够说是不可用,惟一能够使用的编辑器实际上是没怎么用过的nano。bash

用nano将cipher改为aes256-cbc,aes192-cbc,aes128-cbc三个以后,从新使用/usr/sbin/sshd -T查看状态,SSH stopped working due to bad mac spec——此次直接把hmac-ripemd160删除掉就解决了(猜想是该算法已经再也不使用)。服务器

最后一个问题是Missing privilege separation directory: /run/sshd,这个解决起来最简单,直接用最基础的Linux系统操做,cd run而后mkdir sshd就解决了。重启SSH服务,运行成功,截一张图来庆祝一下(VNC链接服务器的字体至关原始):ssh

经过macOS自带terminal尝试链接,继续报错——Unable to negotiate with IP port 22: no matching cipher found. Their offer: aes256-cbc, aes192-cbc, aes128-cbc。之后链接这台服务器得使用ssh -c aes256-cbc username@IP才能够进入——意思是强制使用aes256-cbc的加密算法来登录这台服务器。编辑器

【2019年7月26日更新】测试

cipher改为aes256-cbc,aes192-cbc,aes128-cbc以后用ssh是能够指定加密方式来登录的,可是Sublime Text 3的SFTP功能不可用(做为对比,PyCharm以及FileZilla能够正常使用)。缘由是某些加密算法(如cbc结尾的这三个)是比较老的加密算法,会被客户端默认拒绝。字体

咱们只须要加上aes128-ctr,aes192-ctr,aes256-ctr三个加密算法以后,客户端就能够直接ssh username@IP登录,Sublime Text 3的SFTP功能也能够正常使用了。

相关文章
相关标签/搜索