2012-07-03 14 views
-1

這可能被問到某處,但我無法找到它爲我的生活。從目標機器禁用多跳SSH?

我目前正在設置一臺服務器機器,並且我希望這樣做只有那些直接進入服務器並擁有授權密鑰的計算機才能進入。我已經獲得了要使用的密鑰,但我不知道該如何確保人們不能多跳進入服務器機器。我想知道:

  • 它甚至有可能只在服務器計算機上更改設置來禁用多跳?
  • 如果是這樣,我該如何去做呢?
  • 如果沒有,我還有什麼其他選擇可以實現我想要做的?

回答

1

我不相信只有更改服務器上的設置纔有可能。

如果您的服務器名爲server和網絡上的另一臺機器被稱爲aux,那麼你需要禁止下面的多跳方法,可能其他人也:

  1. ssh -t aux ssh server
  2. ssh -o ProxyCommand='ssh aux /usr/bin/nc %h %p' server
  3. ssh -N -L 2222:server:22 aux & ssh -p 2222 localhost

所以你需要確保

  • ssh當網絡上的任何其它機器上運行會拒絕連接到server,當用戶在本地(不通過SSH)登錄
    • 或者除,確保sshd的設置AllowAgentForwarding設爲no您的網絡
      • 手冊頁所有其他計算機上指出,這種「不 不能提高安全性,除非用戶也拒絕shell訪問,因爲他們可以安裝他們自己的轉發器」
  • 的netcat和等價物都沒有安裝任何其他機器在網絡上
  • sshd的設置AllowTcpForwarding設置爲no所有其他計算機網絡上的
    • 手冊頁指出,這種「不提高 安全,除非用戶也拒絕shell訪問,因爲他們可以安裝他們自己的轉發器」

這可能有點多。

也許你可以將私鑰保存在可能不會離開建築物的硬件令牌中?不過,這超出了我的經驗範圍。

如果您在ServerFault上詢問,您應該得到更好的答案。com,希望你的問題很快就會被移植到那裏。