![“.ssh/config” E212:无法打开文件进行写入](https://linux22.com/image/1377918/%E2%80%9C.ssh%2Fconfig%E2%80%9D%20E212%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%E8%BF%9B%E8%A1%8C%E5%86%99%E5%85%A5.png)
我是 Linux 新手。我为 VirtualBox 下载了 ubuntu 12 映像,我想配置该.ssh/config
文件以通过 ssh 访问正在开发的应用程序。
我访问/home/ubuntu
文件夹并以 root 身份登录,输入内容vim .ssh/config
,保存时出现错误:.ssh/config
E212:无法打开文件进行写入。Y 使用 :w、:w!、:wq! 保存了它,但我无法保存。
我尝试了sudo .ssh/config
和sudo ~/.ssh/config
。
我尝试过不同的虚拟机,所以我不知道是什么导致了这个错误。希望你能帮助我。
答案1
如果 .ssh 文件夹不存在您可以获取此文件。
在这种情况下,您可以先使用以下命令创建它:
mkdir ~/.ssh
chmod 700 ~/.ssh
答案2
当使用 vi 对具有提升权限的文件进行操作时,你必须使用sudo
例如你必须使用sudo vi .ssh/config
这是因为 .ssh 目录或 .ssh/config 文件必须由 root 拥有,并且当使用 sudo 命令时,它会在该过程期间将您的权限提升为 root。
答案3
您可能处于读取挂载文件系统中,但您可以尝试以下步骤。由于某种原因,无法创建或覆盖您正在写入的文件。原因可能是您没有在目录中写入的权限或文件名无效。
Vim 有一个内置帮助系统,我只是引用了它对 :h E212 所说的内容。您可能希望以超级用户身份编辑文件,例如 sudo vim FILE。或者,如果您不想离开现有的 vim 会话(并且知道具有适当的 sudo 权限),您可以发出:
:w !sudo tee % > /dev/null 这将保存文件。我在https://stackoverflow.com/questions/8253362/etc-apt-sources-list-e212-cant-open-file-for-writing
谢谢并问候,
Alok
答案4
转到 C:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\user.ssh 并确保您无法通过 Windows 资源管理器看到任何配置文件,在我的情况下已经有一个配置文件,我无法通过 ubuntu 终端看到它