首页 > 解决方案 > 我在 ssh 中批量执行了一个权限命令,现在我被锁定了

问题描述

我在 aws ssh 终端中工作。我一直被拒绝写入很多文件的权限,这让我很烦。我尝试在 vscode 远程的根目录中执行此命令:

chmod -R o+rw .

它对日志中的许多文件运行命令。然后过了一会儿它停止响应。我尝试重新登录,但它给了我这个错误:

kex_exchange_identification: Connection closed by remote host
Connection closed by (host ip address) port 22

我的一位远程同事似乎可以访问,但我和我的内部同事(由同一用户工作)无法连接。我们已经尝试连接到终端上的其他用户,但没有响应。

标签: linuxamazon-web-servicesmagentossh

解决方案


首先很抱歉您被锁定了,请确保您的朋友没有退出机器。

从错误信息

kex_exchange_identification:连接被远程主机关闭

当所有人都可以读取私钥(文件)时会发生这种情况,即具有错误的权限。

你通过命令做的

chmod -R o+rw .

所以/etc/ssh/下面的文件通常需要有600 个权限

ssh_host_key
ssh_host_dsa_key
ssh_host_rsa_key

除此之外,您的authorized_keys文件也可能存在问题

chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
restorecon -R -v /root/.ssh

在这个问题中,add-a-public-key-to-ssh-authorized-keys-does-not-log-me-in-automatically有很多选项可以尝试。

如果没有任何效果,启动另一个 EC2 实例并将这个有问题的实例作为另一个卷安装在新启动的机器上,至少您将能够获取您的代码/数据。


推荐阅读