VsCode远程连接后写入文件失败:Failed to save XXX:Unable to write file ‘vscode-remote://ssh-remoteXXX’

一、问题描述

按照《VsCode + gdb + gdbserver远程调试C++程序》中介绍的方法,配置好VsCode后,可以查看远程Linux主机上的文件的内容,但是修改文件内容后保存失败,提示:Failed to save XXX:Unable to write file 'vscode-remote://ssh-remoteXXX'(NoPermissions(FileSystemError):Error:EACCES:permission denied):

二、解决方法

首先编辑远程Linux主机上的sshd_config文件:

sudo vim /etc/ssh/sshd_config

注释掉里面的PermitRootLogin without-password这行,即改成#PermitRootLogin without-password


在该文件最下面增加一行:PermitRootLogin yes

然后重启Linux主机上的ssh服务:sudo service ssh restart

进入Windows主机的“C:\Users\你的用户名\.ssh”目录,编辑config文件:

根据需要被远程连接的Linux主机ip,找到对应的“HostName”,将对应的“User”后的用户名改为root:

执行上述操作后,通过VsCode重新远程连接Linux主机,就可以成功修改Linux上的文件了。

### 解决 VSCode Remote-SSH 插件无法创建文件的问题 当遇到 VSCode Remote-SSH 插件无法创建文件的情况时,通常是因为 SSH 配置文件或目标远程主机上的某些路径权限设置不当所致。以下是针对该问题的具体解决方案。 #### 修改本地 .ssh 文件夹权限 如果 `.ssh` 文件夹权限不足,则可能导致各种错误,包括但不限于“过程试图写入的管道不存在”。此时应调整此文件夹的安全属性: 右键单击位于 C 盘 User 文件夹下的 `.ssh` 文件夹,在弹出菜单中选择“属性”,切换到“安全”选项卡并点击其中的“编辑按钮”。对于当前登录用户账户授予完全控制权,即勾选“完全权限”的允许项[^1]。 #### 检查远程服务器端授权密钥配置 确保在远程 Linux 主机上 `~/.ssh/authorized_keys` 文件已正确定义,并且拥有适当读取访问级别。这一步骤有助于确认公钥已经成功上传至云端实例并且可以正常工作[^2]。 #### 增加 Swap 空间防止内存溢出 考虑到资源消耗过大也可能引发操作失败的现象,特别是低配版 VPS 或者容器环境里更容易发生此类状况。可以通过增大交换分区来缓解因物理 RAM 不足而造成的服务中断现象。例如在一个具有 2 核心 CPU 和 4 GB 内存规格的腾讯云 Ubuntu 实例上频繁遭遇崩溃事件之后采取了这一措施得以改善稳定性表现[^3]。 ```bash sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap defaults 0 0' | sudo tee -a /etc/fstab ``` 以上命令序列用于创建大小为 2 GiB 的新交换文件 `/swapfile` 并激活它;同时将其条目追加进系统的启动挂载表以便重启后继续生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值