vscode连接服务器免密码登录

vscode连接远程服务器

vscode免密连接远程服务器

  1. win+R 输入cmd,打开cmd终端
    输入ssh-keygen,一路回车
    然后就可以在路径C:\Users\你的用户名.ssh中可以发现生成了id_rsa、id_rsa.pub这两个文件
  2. 打开远程服务器的终端,在终端中输入 mkdir .ssh建立.ssh文件夹(如果本来就有.ssh文件夹则忽略此步), 将1中生成的id_rsa.pub文件上传到刚刚在服务器上建立的.ssh文件夹。例如可以使用FileZilla上传
  3. 在服务器终端输入以下命令
cd .ssh 
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys 
sshd restart 

如果sshd restart不报错,就可以打开vscode进行配置了,如果这条命令报错,请用管理员权限登录服务器,输入以下命令:
service ssh restart
4. 在C:\Users\你的用户名.ssh中找到 .config文件,打开后
.config文件是在配置vscode连接服务器中有的
在这里插入图片描述
5. 可以重新打开vscode,就不需要密码可以直接登录远程服务器下的目录啦~

可能出现的报错:

[root@localhost ~]# mkdir .ssh
[root@localhost ~]# cd .ssh
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys
[root@localhost .ssh]# chmod 600 authorized_keys 
[root@localhost .ssh]# sshd restart
sshd re-exec requires execution with an absolute path
[root@localhost .ssh]# service ssh restart
Redirecting to /bin/systemctl restart ssh.service
Failed to restart ssh.service: Unit not found.
[root@localhost .ssh]# sshd restart
sshd re-exec requires execution with an absolute path
[root@localhost .ssh]# sudo systemctl restart ssh
Failed to restart ssh.service: Unit not found.
[root@localhost .ssh]# sudo systemctl restart sshd
[root@localhost .ssh]# 

在这里插入图片描述
在Linux系统中,你可以使用以下方式来修改SSH授权密钥文件(authorized_keys)的权限,并重启SSH服务:

  1. 修改密钥文件权限: 使用chmod命令来确保authorized_keys文件的权限正确设置为只有所有者可读和写入(权限为600):

    chmod 600 ~/.ssh/authorized_keys
    
  2. 重启SSH服务: 通常,你可以使用systemctl来重启SSH服务,具体命令如下:

    sudo systemctl restart ssh
    

    注意,你可能需要以管理员权限(使用sudo)来执行这个命令。

如果你遇到了sshd re-exec requires execution with an absolute path错误,通常是由于尝试使用相对路径来重启SSH服务而引起的。确保使用绝对路径或systemctl命令来重启SSH服务。

另外,请注意,不同的Linux发行版可能会有一些不同的命令和方式来管理SSH服务。上述命令适用于大多数基于systemd的Linux系统。如果你的系统使用其他方式管理SSH服务,你可能需要查找相应的命令来重启SSH服务。

[root@localhost .ssh]# sudo systemctl restart ssh
Failed to restart ssh.service: Unit not found.

如果你的系统上找不到名为 ssh 的 systemd 单元,可能是因为 SSH 服务的单元名称不同。在某些Linux发行版上,SSH服务的单元名称可能是 sshd 而不是 ssh。你可以尝试使用 sshd 来重启SSH服务。请使用以下命令:

sudo systemctl restart sshd

如果你仍然遇到问题,可能需要检查一下SSH服务的确切名称,这可能因Linux发行版而异。你可以运行以下命令来列出所有正在运行的 systemd 单元,以查找SSH服务的正确名称:

systemctl list-units --type=service

在列出的服务中,查找名称类似于 sshsshd 的服务,并使用正确的名称来重启SSH服务。

另外,请确保你以管理员权限运行上述命令,以便成功重启SSH服务。

重新连接远程服务器

如果之前vscode免密连接了远程服务器,之后,远程服务器重装了系统,但是ip,port没有改变,那就会出现下面的报错
在这里插入图片描述

根据你提供的输出信息,问题是SSH客户端警告远程主机的身份已经改变,这是因为服务器的SSH主机密钥已更换,而你的客户端仍然保留着旧的密钥。这种情况通常发生在服务器重装系统或更换SSH密钥后。为了解决这个问题,你需要从你的.ssh/known_hosts文件中删除旧的主机密钥条目。这里提供详细步骤:

步骤1: 删除旧的主机密钥

你的系统告诉你冲突的密钥在known_hosts文件的第5行。你可以手动编辑该文件并删除第5行,或者使用命令行来删除:

  1. 打开命令行界面(PowerShell或命令提示符)。
  2. 使用以下命令删除指定行的密钥:
    ssh-keygen -R [112.86.129.72]:58022
    
    这个命令会自动找到并删除known_hosts文件中对应112.86.129.72服务器和端口58022的旧密钥条目。

步骤2: 重新连接到服务器

完成旧密钥的删除后,再次尝试连接到服务器:

ssh t0416@112.86.129.72 -p 58022

这次连接时,SSH客户端会提示你是否信任服务器的新主机密钥。如果确认这是你的服务器(并且没有安全隐患),输入yes接受新的密钥。这将把新的主机密钥添加到known_hosts文件中,未来的连接将不会再提示这个警告。

注意安全

在接受新的SSH主机密钥之前,最好确认这次更换是由于服务器重置或正当的维护原因,而不是中间人攻击。如果可能,通过其他安全渠道(如直接联系服务器管理员)验证更换密钥的正当性。

重新尝试 VSCode 连接

在命令行成功连接后,你应该也可以通过VSCode正常连接了。确保在VSCode的SSH配置中正确设置了端口号和服务器地址。

这些步骤应该可以解决你的连接问题,并且确保你可以安全地继续使用SSH连接到你的服务器。如果你有任何疑问或需要进一步帮助,随时告诉我!

vscode无法连远程服务器

问题描述:可以从终端用ssh xwf@10.26.61.236 -p 10010来连接远程服务器,但是如果用vscode的话,就会出现waiting for server log,Could not establish connection to “3090”: The VS Code Server failed to start. 但是用其他电脑的vscode就可以正常连接远程服务器

解决方法:我使用的是方法3,更新VS Code和Remote-SSH插件
遇到你描述的问题,通常可能是由于一些特定的配置或环境问题导致的。我们可以按照以下几个步骤尝试解决这个问题:

  1. 检查网络连接
    确保你的计算机和远程服务器之间的网络连接是稳定的。尤其是端口 10010 是否在你当前使用的网络环境中被允许。

  2. 检查 VS Code 配置
    检查你的 VS Code 配置是否有特定的设置可能导致连接失败。比如代理设置、SSH 配置文件等。你可以对比一下可以连接的电脑的 VS Code 配置和当前有问题的配置。

  3. 更新 VS Code 和 Remote-SSH 插件
    确保你的 VS Code 以及 Remote-SSH 插件都更新到最新版本。有时候,旧版本的软件可能存在兼容性问题或已知的bug。

  4. 查看服务器端日志
    由于 VS Code 服务器启动失败,你可以尝试直接通过 SSH 登录到服务器,查看 VS Code 服务器的日志。这通常可以在 ~/.vscode-server/.log 文件中找到。查看日志可能会给出为什么服务器启动失败的线索。

  5. 尝试重新安装 VS Code 服务器
    在远程服务器上,你可以尝试删除 ~/.vscode-server 目录,然后通过 VS Code 再次连接,这将迫使 VS Code 重新安装服务器。

  6. 检查权限问题
    确认你的用户账户是否有足够的权限在远程服务器上安装和运行 VS Code 服务器。权限不足也可能导致服务启动失败。

  7. 防火墙和安全软件
    检查是否有防火墙或安全软件阻止了 VS Code 的某些网络活动。尤其是在不同的电脑上,安装的安全软件配置可能不同。

尝试上述方法后,如果仍然存在问题,可以根据服务器的日志输出进一步诊断问题所在。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值