I am not able to save any files on my remote server with VSCode Remote SSH because I am not a root user.
I've followed the official documentation about how to set up ssh with SSH config file but even if my user as sudo privileges, I can't find any options in VSCode to save with sudo.
here is my SSH config file /Users/geoff/.ssh/config:
Host gcpmain
User geoff
HostName <IP_ADDRESS>
IdentityFile ~/.ssh/gc_rsa
Run Code Online (Sandbox Code Playgroud)
Obviously, when I try to save any files that require sudo I have this expected error message:
Failed to save 'default': Unable to write file (NoPermissions
(FileSystemError): Error: EACCES: permission denied, open
'/etc/nginx/sites-available/default')
Run Code Online (Sandbox Code Playgroud)
Is there any way that I can force VSCode to save as sudo? Thanks a lot for your answers! :)
umi*_*itu 121
我推荐这个 VSCode 扩展:Save as Root in Remote SSH
在使用 Remote-SSH 打开的窗口上安装扩展,并在命令面板中使用“另存为根目录”而不是 Ctrl+S。
基本上,它读取编辑器的内容并调用 sudo 命令来覆盖文件。
Gau*_*hai 73
sudo chown -R $USER /path/to/folder
Run Code Online (Sandbox Code Playgroud)
这对我来说效果很好!
Bra*_*ung 23
我在使用vs code以非root帐户ssh登录CentOS时也遇到了同样的问题。
真正的原因是:您的用户帐户(此处为“geoff”)需要首先获得目标目录的权限。
sudo setfacl -R -m u:geoff:rwx /etc/nginx/sites-available/default
Run Code Online (Sandbox Code Playgroud)
对于你的情况。
更一般的用法:
sudo setfacl -R -m u:username:rwx /path/to/directory
Run Code Online (Sandbox Code Playgroud)
该命令将帮助您获取该目录的权限/path/to/directory,而不影响任何其他用户或组的权限。不建议使用chown。该解决方案可在 Mac/Linux 上使用。
运行完上述命令后,您可以在 VS code 中编辑并保存。愿它对您有帮助。
小智 7
当我试图在我的 VPS 上编辑 nginx conf 文件时,我遇到了同样的问题。github 上有一个未解决的问题:提升 SSH 远程权限,解决类似问题。
作为临时解决方案,您可以使用 WinScp - 将 sudo /path/to/sftp-server 添加到您的连接设置,然后您可以保存对大多数(如果没有)文件的更改。WinScp 在登录时使用 sudo。
小智 6
使用 VSCode ssh(我使用带有 AWS 的 Ubuntu EC2 实例)在远程机器上配置文件的最简单解决方案是在使用 chmod 处理文件时修改文件权限。
默认情况下,服务器配置文件(/etc/nginx/sites-available/default)是只读的(需要 sudo 写入/保存)。存在允许 VSCode SSH sudo 访问的未决问题,但是我找不到好的解决方案。
当您需要在 dev 中配置服务器文件时,请在您的命令行 SSH(非 VSCode)中以 sudo 权限运行:
sudo chmod a+rwx /etc/nginx/sites-enabled/default
(或任何服务器配置文件的路径)。
然后,您可以使用 VSCode ssh 并自由保存编辑的文件。
如果您不喜欢通过命令行在 vim 中工作并想使用 VSCode 编辑服务器配置文件,这可能是最快的解决方案。完成后不要忘记将文件权限切换回只读:
sudo chmod -R 0444 /etc/nginx/sites-available/default
| 归档时间: |
|
| 查看次数: |
3586 次 |
| 最近记录: |