我家裡有一台運行基本作業系統 0.2 的機器,記憶體很少,交換區總是幾乎滿了(我會盡快升級記憶體)。今天登入的時候,要求輸入密碼。我將我的公鑰重新cat:ed到遠端authorized_keys檔案中,並且公鑰身份驗證再次開始工作。我的猜測是,當我寫入檔案時,檔案上的鎖被解除了。
我對這種情況的解釋正確嗎?問題的可能原因是否是authorized_keys 檔案上的鎖定?並且,完整的交換分割區會導致檔案鎖定問題嗎?
答案1
不幸的是,您的問題是特定於應用程式和特定於場景/情況的。簡短的回答是,不(或更確切地說不應該)。
您的交換分區應該被視為 RAM 的擴充。為了防止 SWAP 變滿,您可能(在獲得更多 RAM 之前)嘗試增大 SWAP 分區。但也要獲得更多 RAM,SWAP 可能比 RAM 慢 1000 倍。
因此,要完整回答您的問題,請提出以下問題:當 PC(及其正在運行的應用程式)記憶體不足時,會發生什麼情況?或RAM和SWAP?
它將拒絕啟動新的應用程式...它將拒絕向請求記憶體的應用程式提供新的記憶體區塊(如果這些應用程式可以從此類拒絕中恢復,它們將記錄錯誤並繼續運行,大多數應用程式將崩潰,或優雅地退出,因為如果無法分配內存,它們就無法實現其目的)。
因此,如果您的金鑰檔案確實被鎖定(我不懷疑這種情況可能發生),則很可能是由於 SSH/SSL 相關的原因,例如守護進程因無法分配記憶體而掛起,或者守護程式重新啟動上述原因。
如果使用 openssh-server,請將 /etc/ssh/sshd_conf 變更為不允許密碼驗證,並嘗試重新建立剩餘 RAM 為零且交換空間為零的場景。老實說,我真的懷疑 sshd 會崩潰。