Linux

亞馬遜和c2LinuxInstance和C2大號一世n在X一世ns噸一種nC和Ec2 Linux Instance增加打開文件/文件描述符 (FD) 後 SSH 不工作

  • November 22, 2016

我無法訪問ssh我的 ec2 實例

$$ linux based $$在我執行了以下命令之後。$$ Before that I am able to ssh to server $$

# vim /etc/sysctl.conf

我已將文件最大數更新為 4000000

fs.file-max = 4000000

我也編輯過:

# vi /etc/security/limits.conf

在末尾添加以下行

* soft nofile 4000000 * hard nofile 4000000

然後我退出我的 ec2 insatnce 並再次嘗試 ssh 但沒有運氣。

我已經嘗試使用 -v 選項進行 ssh,而我得到的只是

debug1: Exit status 254

注意:這是我所做的唯一更改。

您能否澄清一下,在編輯描述符限制更改的文件後,您還做了什麼?就其本身而言,修改文件不會改變任何內容,並且應該沒有效果。更改甚至可能不正確,例如,如果在文件的其他位置輸入了不同的字元。

特別是,您能否澄清一下

  • 你後來登出?
  • 啟動了重啟?

也不清楚是否

  • 您是否嘗試從管理控制台重新啟動?
  • 你試過看看是否有任何網路問題與你的問題同時發生?
  • 您是否嘗試過從其他地方(不同的 IP)登錄?

如果一切正常,並且您無法以任何其他方式返回系統,您可能需要遵循有關如何恢復無法訪問的 Linux 實例的 AWS 文件。

似乎是用新系統替換虛擬硬碟驅動器,並從新系統中調查“舊”硬碟驅動器,挽救過程中的任何重要內容,包括查看舊日誌以查看對系統的實際影響是。

更新- 早些時候有評論表明當限制增加時發生了類似的事情。我剛剛測試過(並在其他地方發現了提示)最大nofile設置是1048576(即 1024*1024, 2^20)。如果我在我的 Linux 機器上使用更高的值,它只會恢復到 1024 作為最高值,但不會引起問題。也許您用於 AWS 的分佈不那麼寬容,並且超出限制,和/或認為未能設置無效限制是致命的,並且不會讓您繼續登錄。

注意 - 您在那裡所做的更改不是即時的。它們在您下次登錄時生效,和/或您從新登錄的會話重新啟動的任何程序 - 或重新啟動後的所有程序,但這對您來說已經太晚了。

由於我無法重現您的問題,我不確定您仍然可以通過什麼方式訪問您的盒子。如果沒有重新啟動,也許 sftp 作為 root 可以工作,隨著重新啟動,這種可能性可能已經消失。

下次,您可能需要考慮保持 root ssh 會話執行螢幕處於活動狀態,以防您無法以 root 身份登錄或su再次使用。甚至可能通過 mosh 連接。當您更改系統上影響未來登錄的任何內容時,這可能很重要。

您還可以考慮在 30 分鐘後安排一個 cronjob 來恢復以前的文件,以防您無法重新進入 - 但這些必須在更改本身之前準備好,並且可能會被阻止執行。

不幸的是,如果遠端訪問方法都不適合您(包括 sftp 作為 root,這不是一個好主意),那麼您可能需要參考上面連結的 AWS 文件來恢復主機上的數據通過不同的實例。

引用自:https://unix.stackexchange.com/questions/251563