Ssh

安裝拒絕主機後無法再使用 SSH

  • April 1, 2014

所以我處於一個非常棘手的境地。我在我的 debian 機器上安裝了拒絕主機,突然我不能再使用 SSH。

希望我仍然可以通過 webmin 登錄,但使用 root,所以我必須使用另一個使用者登錄,然後是“su”。

我刷新了 IPtables,將 SSH 的埠改回 22(我之前已更改)並嘗試刪除拒絕主機:aptitude remove denyhosts。

它似乎不起作用:

E: 等待 /usr/bin/apt-listchanges –apt || 測試 $ ? -ne 10 but it wasn’t the re E: Failure running script /usr/bin/apt-listchanges –apt || test $ ? -ne 10

在這一點上,我真的不知道該怎麼辦,我仍然無法通過 SSH 連接,而且我在 webmin 中只有這個文本終端允許我這樣做,但速度很慢。任何的想法 ?

PS:

當我現在進行 aptitude 升級時,我收到一個錯誤:

Get:1 http://security.debian.org/ squeeze/updates/main file amd64 5.04-5+squeeze 5 [50.3 kB]                                                                      
Get:2 http://security.debian.org/ squeeze/updates/main libmagic1 amd64 5.04-5+sq ueeze5 [236 kB]                                                                  
Fetched 286 kB in 0s (622 kB/s)                                                  
dpkg-deb: unrecoverable fatal error, aborting:                                    
wait for subprocess tar failed: No child processes                              
close failed in file object destructor:                                          
IOError: [Errno 10] No child processes                                          
Traceback (most recent call last):                                                 
File "/usr/bin/apt-listchanges", line 237, in <module>                             main()                                                                         
File "/usr/bin/apt-listchanges", line 102, in main                                 
pkg = DebianFiles.Package(deb)                                                 
File "/usr/share/apt-listchanges/DebianFiles.py", line 133, in __init__            
self.binary  = pkgdata.Package                                               
AttributeError: ControlStanza instance has no attribute 'Package'                
E: Waited for /usr/bin/apt-listchanges --apt || test $? -ne 10 but it wasn't the re                                                                               
E: Failure running script /usr/bin/apt-listchanges --apt || test $? -ne 10       A package failed to install.  Trying to recover:    

當我進行安裝或重新安裝拒絕主機時,我得到了同樣的錯誤……

denyhosts通過將條目添加到/etc/hosts.deny它發現違反您為其設置的規則的 IP 地址的文件中。

您似乎嘗試root通過 SSH 登錄並輸入了一次密碼錯誤。預設情況下,在 root 帳戶一次失敗的登錄嘗試後將denyhostsIP 地址添加到文件中。/etc/hosts.deny

即使您解除安裝denyhosts,條目仍將保留在該文件中。因此,您應該編輯/etc/hosts.deny文件並刪除與您的 IP 地址相關的條目。

您似乎還允許通過 ssh 進行 root 登錄。我認為這不是一個好習慣,您應該以普通使用者身份登錄並使用 su 獲取 root 權限。因此,您應該編輯/etc/ssh/sshd_config並更改PermitRootLogin為 no。

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