我正在尝试使用 WinSCP 和 putty 远程编辑 sshd_config 文件。不幸的是,我不断收到以下错误-
“无法覆盖远程文件,请按 Delete 键删除该文件并创建一个新文件”。
我尝试删除,但出现了类似的错误。我还尝试更改文件的权限,但出现了错误 -
无法更改文件 sshd_config 的属性。
我怀疑我没有正确的权限,但我不知道该怎么办。我在下面附上了我的权限图片。
问题
我需要做什么才能覆盖 sshd_config ?这与我当前的权限有关吗?
答案1
在 Windows 上编辑配置文件并将其传回 Linux 是危险的,因为 Windows 使用的换行符与 Linux 不同。
您应该直接在远程计算机上编辑文件,方法是键入sudo nano /etc/ssh/sshd_config
make your changes,然后按CTRL+O保存并按CTRL+X退出。这样您也不必关心权限,因为您已经是 root 了。
答案2
答案其实是很明显的。我是 Linux 新手,所以我很困惑。当我使用安装服务器时使用的用户名和密码登录服务器时,我误以为这与 root 身份相同。
无论如何,我没有编辑文件的正确权限,因此为了修复它,我使用 Putty 通过 ssh 进入服务器,然后使用以下代码创建了一个名为 editors 的新组
sudo addgroup editors
然后我将我的用户添加到该组
sudo adduser myusername editors
接下来,我授予群组编辑者该目录的所有权
sudo chown :editors /etc/ssh/
接下来我更改了文件权限,以便该组可以写入文件夹
sudo chmod 770 /etc/ssh
再次使用 WinSCP 登录服务器后,我就能编辑目录中的文件了。
这可能不是推荐的解决方法- 如果不是的话,我希望有人告诉我 :)