linux- 云服务器重装系统后如何恢复远程连接

本文档记录了在CentOS8系统更换为Ubuntu20.04后,如何解决云服务器远程连接问题,包括更新SSH密钥、解决VSCode远程连接验证失败以及重新配置VSCode自动登录。同时,介绍了安装VSCode相关扩展和C++开发环境,以及恢复宝塔面板的步骤。
摘要由CSDN通过智能技术生成

linux- 云服务器重装系统后如何恢复远程连接

发现之前的centOS8系统取消了对一些重要配件的镜像源支持,遂决定改操作系统为Ubuntu 20.04

更改系统后就要面临一些调整,为了防止以后再次海搜特此记录。

更新ssh密钥

更改系统以后,云服务器主机的指纹也会跟着改变,而本地主机这时候存放的还是上一个系统的指纹,这时候连接就会提出验证警告,甚至直接禁止连接,看你使用的是什么远程连接工具,我的情况是vscode连接先前的host直接失败退出,但是Xshell仅弹出警告,无视后仍旧能正常连接,不知道为什么。

首先要找到云服务器主机当前的key并把它加入本地主机的.ssh/config中,方法是在本地主机终端输入

ssh user@you_server_ip

输入后就会提醒你指纹改了:

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Please contact your system administrator.
Add correct host key in C:\\Users\\hw/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\hw/.ssh/known_hosts:2
Host key verification failed.

从输出中知道了新的指纹,将其加入本地主机C:\\Users\\hw/.ssh/known_hosts文件里替换掉旧指纹, 然后再连接尝试vscode远程连接成功。

重建vscode的自动连接

我已经习惯用vscode来远程连接了,但是重置以后每次连接都要输入密码,明显不方便,好在微软也提供了自动登录的教程

云服务器通过验证客户机的.ssh/id_rsa.pub文件内容是否对应来连接,我已经在自己电脑上有了一个.ssh/id_rsa.pub文件, 直接导入给服务器即可:

$USER_AT_HOST="root@xxxxxxxxx"
$PUBKEYPATH="$HOME\.ssh\id_rsa.pub"

$pubKey=(Get-Content "$PUBKEYPATH" | Out-String); ssh "$USER_AT_HOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && echo '${pubKey}' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

上述指令将把id_rsa.pub的内容保存在服务器主机的~/.ssh/authorized_keys里。

此外教程建议用户出于安全考虑多建一个密钥送给服务器,虽然看着麻烦,但我也弄了,毕竟有安全感吗hh。

之前的自动登录上述流程都很顺利,但这次不知为何自动登录就失效了,尝试把客户机和服务器的分享的密钥都换成新的,以及看不知道哪个网络教程把服务器的 /etc/ssh/sshd_config 文件加上

RSAAuthentication yes
PubkeyAuthentication yes 
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2 

然后重启sshd服务。

service sshd restart

上述都没用。

隔了一天后才发现问题,我把开发机和服务器.ssh 文件夹下的文件全部删了, 然后按照教程再次让开发机生成了个公钥给服务器的authorer_key , 应该是 IdentityFile 的问题, 当时我有多弄一个id_rsa-remote-ssh.pub的公钥给服务器,换系统的时候只更新了 id_rsa.pub 忘了更新 id_rsa-remote-ssh.pub , 结果导致一直要密码验证,把 IdentityFile 一行删掉就行了。

出于安全感的考虑没想到坑了自己。。。。

安装vscode相关扩展和C++开发配件

vscode: C++ intellisense, code runner

C/C++:

sudo apt-get install build-essential gdb

配置宝塔面板

系统一重装,之前的宝塔面板扩展也跟着没了,这里有一个坑人点要注意就是一定要去宝塔官网找安装指令,别去csdn随便找一个安装指令去下,否则莫名其妙的错误搞得你找不着北。

下载完后就用新的面板地址的,用户名和密码了,记得确保服务器有放行8888端口

Congratulations! Installed successfully!
==================================================================
外网面板地址: http://xxx.xxx.xxx.xxx:8888/xxxxxxxx
内网面板地址: http://xxx.xxx.xxx.xxx:8888/xxxxxxxx
username: xxxxxxxx
password: xxxxxxxx
If you cannot access the panel,
release the following panel port [8888] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值