在Debian和Ubuntu上使用SFTP和籠子傳輸文件

!你好朋友! 今天,我為您提供了一種使用FTP服務器進行安全文件傳輸的替代方法。 已經是同事 KZKG ^ Gaara 根據包裹發布了一個 監獄。 我們將要開發的是基於我們存儲庫中有更多可用的軟件包。
我們會看到:

  • 輸入必填項
  • 我們如何配置Openssh服務器?
  • 我們如何創建用戶?
  • 我們如何修改主目錄,以使籠子起作用?

輸入必填項
我們經常需要將文件從遠程計算機複製到我們的計算機。 許多人問過我。 是否安裝FTP?如何安裝SAMBA? 好吧,讓我們從簡單到復雜。 從一開始,如果我們有 OpenSSH服務器 已安裝? 如果我們沒有,請使用簡單的命令:

aptitude安裝openssh-server

現在我們有了它!然後我們將能夠通過SFTP(安全文件傳輸協議)協議安全地傳輸文件,該協議使用SSH(安全外殼)進行加密。

默認情況下,有權通過以下方式啟動遠程會話的用戶 ssh用戶@我的團隊,他們將能夠查看存儲在我們系統中的幾乎所有文件,這可能不符合我們的喜好,或者出於安全原因,我們不允許這樣做。

本文將幫助我們配置 OpenSSH服務器 這樣我們想要的用戶就被限制在他們的個人目錄中 /主頁/用戶。 我們澄清一下, 使用此方法,聲明的用戶將無法通過ssh控制台或PuTTy啟動遠程會話。 他們將只能在我們的計算機或服務器上的個人目錄之間傳輸文件.

此處描述的方法對Debian版本5(Lenny)或更高版本以及Ubuntu 9.04或更高版本有效。 Hardy或Ubuntu 8.04的SSH軟件包版本已經過時,並且不支持我們將在下面描述的配置。

我們如何配置Openssh服務器?
作為用戶 我們編輯文件 的/ etc / SSH / sshd_config中 使用任何簡單的文本編輯器。 我們建議使用 納米 在控制台模式下。

納米/ etc / ssh / sshd_config

我們希望出現以下行:

子系統sftp

在Lenny和Squeeze中,有:

子系統sftp / usr / lib / openssh / sftp-server

如果它不存在,我們在文件末尾添加:

子系統sftp internal-sftp

我們繼續編輯文件 sshd_配置 然後在最後添加:

匹配組group-sftp ChrootDirectory%h X11Forwarding否AllowTcpForwarding否ForceCommand internal-sftp

我們保存更改並重新啟動服務:

/etc/init.d/ssh重新啟動

我們如何創建用戶?
首先,我們創建«»我們在 sshd_配置。 請謹慎選擇我們之前選擇的名稱,它不會是已經存在並且屬於系統的組。 如果我們不想限制系統中的現有用戶,則必須創建新用戶,以便他們可以傳輸文件。 為了使籠子正常工作,我們還必須使它們成為相關小組的成員。

addgroup group-sftp adduser user1 adduser user2 [----] usermod -G group-sftp user1 usermod -G group-sftp user2

要檢查組和用戶的創建,我們可以執行以下操作:

較少/ etc /密碼較少/ etc / group ls -l / home

用戶應該出現 使用權1 y 使用權2以及團體 組-sftp 以及與創建的用戶相對應的用戶。 另外,在列出目錄時 /家,將顯示每個創建的用戶的主目錄。

我們如何修改主目錄以使籠有效地工作?
我們必須提高創建的每個用戶的個人文件夾的安全性,以使他們無法在其個人目錄下創建其他文件夾,並在需要的地方(而不是在他們想要的地方)具有寫許可權🙂:

chown root:root / home / user1 / home / user2 chmod 755 / home / user1 / home / user2 cd / home / user1 mkdir文檔html_public chown user1:user1 * cd / home / user2 mkdir文檔html_public chown user2:user2 *

屬於該組的用戶 組-sftp,從現在開始,他們將只能通過SFTP使用其名稱和密碼登錄,並且能夠與我們創建的個人文件夾下的目錄進行文件傳輸,但不能能夠看到我們文件系統的其餘部分。

對於文件和文件夾的傳輸,我們可以使用Nautilus,Konqueror,WinSCP,FileZilla和其他支持SFTP協議的文件。 對於Konqueror,我們必須使用 魚://用戶@ remotecomputer.

我們希望本文對我們具有實際意義!
直到下一次冒險,朋友們!

sftp_鸚鵡螺


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   赫格堡 他說:

    好文章。 共享文件的一種非常安全的方法。 非常感謝您的解釋。 🙂

  2.   閃電戰 他說:

    EXCELENTE

  3.   洛洛 他說:

    而且使用sshfs是否更舒適?

    對於我們的團隊,遠程文件夾將顯示為另外一個具有相同特徵的文件夾。

  4.   雅各布·伊達爾戈 他說:

    您好Federico,一如既往的出色文章。 很高興現在能夠從互聯網上閱讀您的帖子。
    一個擁抱,
    jako

    1.    獵人 他說:

      雅各布怎麼樣,沒有費德里科不同意。 嘿,當您不再回來的時候,您會把人的臉塗成綠色,並且充滿opensuse。 一個擁抱。 😉

  5.   KZKG ^ Gaara 他說:

    您正在做出傑出的貢獻,請繼續努力😀

    1.    費德里科 他說:

      感謝千KZKG ^ Gaara,並感謝大家的反饋

  6.   Jaenense 他說:

    可以將用戶關在/ home / user / ..以外的文件夾中嗎?

    我想要做的是將用戶限制在/ media / hdd /文件夾中...
    我需要這樣做,因為服務器是帶有Raspbian的Raspberry Pi,並且它在SD卡上有/ home /…/文件夾,這將很快填滿

    我已經以幾種方式嘗試過,並且客戶端中的結果始終是“ Broken pipe”,而服務器中的結果是致命的:chroot目錄組件«/ media / HDD /»的所有權不佳或模式

    非常感謝大家

    1.    費德里科 他說:

      我認為您將不得不告訴系統該用戶的主文件夾為/ home / HDD,只要該分區具有本地linux格式,即ext4; ext3; 等等例如,如果用戶是jae-簡而言之,您必須執行以下操作:

      :〜#usermod –move-home –home / home / HDD jae

      另請參見man usermod。 乾杯

  7.   歐文·埃爾南德斯 他說:

    我有問題,或者我有一個公共朋友在亞馬遜提供服務,我必須通過sftp進入以放置或刪除文件。
    我以前做過,一切都很好,但是今天他對我做了一些我沒有發生的事情
    在ami內有一系列文件夾,其中一個是俘虜的互聯網門戶(針對我的用戶的頁面),結果表明我在為我的用戶進行宣傳和宣傳,並且不斷進行修改並通過sftp(使用winscp)上傳)。root權限和root通行證
    我已經授予chmod 777的寫入權限,並且一切進展順利
    但是今天,當更新網絡並上傳index.html及其其他文件時,它為我提供了名稱,但它沒有留下字節,即零(空白),現在您在我的網絡上看不到任何內容
    我已關閉會話並再次輸入,再次授予權限,更改用戶,更新,嘗試放置其他文件,生成新文件,並且它總是做同樣的事情
    它給了我文件,但沒有數據
    有人可以幫我嗎?
    非常感謝您的回答
    首先,謝謝
    ,直到
    里克·歐文·埃爾南德斯

  8.   FCC 他說:

    您好如何使用filezilla,我已經看過幾種模式,但仍然無法連接。
    這是錯的。

  9.   佩德羅 他說:

    下午好,

    執行該過程,籠中的設備可以完美地工作,但是,當嘗試在“文檔”或“ html_publico”文件夾中進行寫操作時,訪問被拒絕。 它具有提及的權限,沒有任何允許的權限。

    drwxr-xr-x。 2 user1 user1 4096 Mar 11 13:16 docs
    drwxr-xr-x。 2 user2 user2 4096 11月13日16:XNUMX html_publico

    結果是嘗試寫入任何文件夾時訪問被拒絕。 但是,執行get確實可以。

    希望您能盡快幫助我。

    問候。