![更改后无法通过 SSH 连接到 Google Compute 上的 Debian (Jessie)](https://linux22.com/image/120485/%E6%9B%B4%E6%94%B9%E5%90%8E%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20Google%20Compute%20%E4%B8%8A%E7%9A%84%20Debian%20(Jessie).png)
我对 Linux/Debian 比较陌生,我遇到了一个问题,尽管经过几天的故障排除和各种 Google、StackOverflow 和 AskUbuntu 查询,但我找不到任何相关的解决方案。
背景:我创建了一个 Compute Engine VM 实例,并成功使用 Cloud Launcher 将 Wordpress 部署到其中。我在多站点模式下设置了 WordPress 并添加了几个站点。我还使用 Certbot 设置了 LetsEncrypt,并成功将证书应用到我的所有站点及其映射域。
问题:通过步骤来强化我的服务器以应对各种安全问题,我正在应用和测试一些权限和目录所有权设置。我当时的连接速度很慢,开始掉线,在几次断开连接后,我放弃了并休眠了我的笔记本电脑。回到家并尝试通过 SSH 返回到我的虚拟机实例后,我的 FTP 客户端 (Notepad++ FTP) 返回以下输出:
[NppFTP] Everything initialized
Connecting
[SFTP] Host key accepted
[SFTP] Successfully authenticated
[SFTP] Error initialising sftp: Short sftp packet!
Unable to connect
Disconnected
尝试从 VM 实例页面中的 SSH 链接进行基于浏览器的连接会产生类似的结果,首先显示:
Connecting...
Transferring SSH keys to the VM.
几秒钟,然后快速显示:
Connecting...
Establishing connection to SSH server...
在闪烁到黑屏并关闭弹出窗口之前。
当我尝试在 Cloud Shell 中使用 gcloud 连接(或发送任何命令)时,例如:
josef@my-project-name:~$ gcloud compute ssh --zone "us-central1-f" josef@my-instance-1-vm
我可以看到以下错误(IP 地址已删除):
Last login: Thu Oct 26 20:09:28 2017 from ZZZ.ZZZ.ZZZ.ZZZ
/bin/bash: Permission denied
Connection to XXX.XXX.XXX.XXX closed.
我尝试了上述命令的无数变体,不使用用户名、“root”和我的环境中的其他有效用户名,但都产生相同的结果。
我确信这是由于我试图在强化环境时进行的更改而引起的某种权限问题,但我有不知道如何恢复我的权限以允许我通过 SSH 返回到我的虚拟机实例。
我相信我所做的最后更改是将 Apache 运行所在的用户/组修改为非 root 帐户,类似于第 2 步中的说明https://geekflare.com/10-best-practices-to-secure-and-harden-your-apache-web-server/
我的 WordPress 网站仍然正常运行,我可以登录它们的管理仪表板。但是,我无法上传插件或媒体,并且我的根站点(在 WP Multisite 内)不会在定制器中显示实时预览,也不允许在定制器中进行任何编辑。
有关如何恢复我的权限/bin/bash
并允许 SSH 连接的任何建议(可能必须通过 Cloud Shell 中的 gcloud 作为--command
指令执行)将是最多赞赏。