2014-05-06 146 views
1

我啓動了一個帶有非標準端口號的配置文件的新SSH守護程序。現在,如果我以sudo身份啓動SSHD,則可以將SSH連接到主機,但如果我以其他系統帳戶身份啓動,守護進程將啓動,但連接失敗。 SSHD是否總是需要以root身份啓動?SSH服務器啓動時系統帳戶不接受連接

我確定SSHD正在運行,它只是不接受連接。

回答

1

以非根用戶身份運行sshd是不現實的。 sshd需要root權限

  • 密碼驗證(僅root可以訪問/etc/shadow
  • 綁定到端口是1024以下
  • 主叫setuid()爲了獲得已連接
  • 的用戶的權限

如果您使用非特權端口和僅基於密鑰的身份驗證,您可能可以使其工作,但您將被限制爲與正在運行的用戶的連接。

有一個相關的討論在這裏:http://seclists.org/basics/2003/Aug/564

+0

謝謝,這是有道理的。 – broun

0

你使用了哪個端口?只有1024以下的端口才有權限Root。

+0

我使用的端口7100,如果我運行命令的根,我可以啓動SSHD,它只有當我與另一個帳戶啓動它有這種行爲。 – broun

相關問題