ssh 多個使用者到一個家庭

ssh 多個使用者到一個家庭

我想允許一些受信任的用戶將 scp 檔案寫入我的伺服器(給特定用戶),但我不想給這些用戶一個家,也不想給這些用戶一個 ssh 登入。

我無法理解我必須創建的用戶/群組的正確設定以允許這種情況發生。

我舉個例子;

具有:

  1. MyUser@MyServer
  2. MyUser屬於該組MyGroup
  3. 可以說,MyUser 的家是,/home/MyUser
  4. SFTPGuy1@OtherBox1
  5. SFTPGuy2@OtherBox2

他們給我他們id_dsa.pub的,我把它加到我的authorized_keys

我想,我會在我的伺服器上做類似的事情

useradd -d /home/MyUser -s /bin/false SFTPGuy1(其他的也一樣..)

最後,useradd -G MyGroup SFTPGuy1(再一次,對於另一個人)

我希望 SFTPGuys 能夠sftp -o IdentityFile=id_dsa MyServer並被帶到 MyUser 的家...

嗯,事實並非如此...SFTP 只是不斷要求我輸入密碼。

有人能指出我錯過了什麼嗎?

謝謝一百萬,

F。

[編輯:梅薩StackOverflow 中詢問我authorized_keys 檔案是否可供其他使用者(MyGroup 的成員)讀取。這是一個有趣的觀點,這是我的回答:

好吧,它不是(它是 700),但後來我將 .ssh 目錄和 auth 檔案的權限更改為 750,但仍然沒有效果。我想值得一提的是,我的主目錄(/home/MyUser)對於該組也是可讀的;大多數目錄是 750,他們放置檔案的特定資料夾是 770。

不過,關於auth文件,我認為身份驗證將由本地用戶在 上執行MyServer,不是嗎?如果是這樣,我不明白其他用戶需要閱讀它......好吧......只是想知道。 ]

答案1

在嘗試此操作之前,請先閱讀全文。

您可以透過建立 2 個使用者並將他們放在同一組中並為他們提供相同的主目錄來完成您想做的事情。然後在共享主目錄中建立 ~/.ssh/authorized_keys 檔案並包含金鑰。

這些帳戶必須有一個 shell,因此使用usermod -L LOGIN它來鎖定它們將阻止互動式登入。

~/.ssh 目錄的權限需要是 g:rx 且 ~/.ssh/authorized_keys 需要是 g:r--

chmod g+rx ~/.ssh
chmod g+r ~/.ssh/authorized_keys

這會導致 sshd 感到痛苦,因為它期望目錄最多為 g:r-- 並且檔案最多為 g:-- 您會收到錯誤訊息

Authentication refused: bad ownership or modes for file /home/test/.ssh/authorized_keys

為了使這個計劃發揮作用,你現在必須破壞 sshd 的內建檢查透過編輯 /etc/sshd_config和設定StrictModes no預設值StrictModes yes。重新啟動 sshd 以使變更生效。

它應該按照你想要的方式工作。不幸的是,您已經取消了 sshd 的安全性,並且可能會在以後進行更改,從而使您的系統完全開放。

為了更安全地執行此操作,請勿進行上述任何更改

在同一組中建立 2 個使用者帳戶並設定他們的 ~/.ssh/authorized_keys 建立從每個主目錄到您希望他們放置內容的位置的連結。

ln -s -n /path/to/stuff content

鎖定主目錄的權限以防止使用者對其進行寫入。

停止帳戶互動登入

usermod -L LOGIN

更改 /path/to/stuff 的權限以允許群組存取。

答案2

您似乎想要提供對充當文件保管箱的使用者 ID 的存取權限。您可以在授權金鑰檔案中限制使用者可以執行的操作。

由於您只希望他們連接到伺服器上的此用戶 ID,因此您可以為他們提供 .ssh/config 文件,該文件將它們直接映射到正確的用戶 ID。

答案3

這個問題的答案——如何建立僅允許透過 sftp 上傳的使用者帳戶?- 推薦一個名為史波利- 我從未使用過它,但聽起來它可能會做你想做的事。

答案4

檢查日誌檔案可能會有所幫助。登入「不成功」後請輸入以下內容

tail -n 50 /var/log/secure

並發布輸出

相關內容