DebianとUbuntuでSFTPとケージを使用してファイルを転送する

!皆さん、こんにちは! 今日は、安全なファイル転送のためにFTPサーバーを使用する代わりの方法を紹介します。 すでに同僚 KZKG ^我愛羅 パッケージに基づいて投稿 ジェイルキット。 私たちが開発するものは、私たちのリポジトリにもっと手元にあるパッケージに基づいています。
様子を見よう:

  • 必須入力
  • Opensshサーバーをどのように構成しますか?
  • ユーザーを作成するにはどうすればよいですか?
  • ケージを機能させるためにホームディレクトリを変更するにはどうすればよいですか?

必須入力
多くの場合、リモートコンピューターからマシンにファイルをコピーする必要があります。 多くの人が私にそれについて尋ねました。 FTPをインストールしますか?SAMBAをインストールするにはどうすればよいですか? さて、単純なものから複雑なものに移りましょう。 最初から、私たちが持っている場合、なぜ自分自身を複雑にするのですか? OpenSSH-サーバー インストールされていますか? そして、それがない場合は、簡単なコマンドで:

aptitude installopenssh-server

すでに入手済みです。そして、暗号化にSSH(Secure Shell)を使用するSFTP(Secure File Transfer Protocol)プロトコルを介してファイルを安全に転送できるようになります。

デフォルトでは、を介してリモートセッションを開始する権限を持つユーザー sshユーザー@私のチーム、彼らは私たちのシステムに保存されているほとんどすべてのファイルを見ることができますが、それは私たちの好みではないかもしれません、またはセキュリティ上の理由から私たちがそれを許可すべきではありません。

この記事は、 OpenSSH-サーバー 必要なユーザーが個人ディレクトリに制限されるようにします /ホーム/ユーザー。 私たちはそれを明確にします、 このメソッドを使用すると、宣言されたユーザーは、sshコンソールまたはPuTTyを介してリモートセッションを開始できなくなります。 彼らは私たちのコンピュータまたはサーバー上の彼らの個人的なディレクトリとの間でのみファイルを転送することができます.

ここで説明する方法は、Debianバージョン5(Lenny)以降、およびUbuntuバージョン9.04以降で有効です。 HardyまたはUbuntu8.04のSSHパッケージバージョンは非常に古く、以下で説明する構成をサポートしていません。

Opensshサーバーをどのように構成しますか?
ユーザーとして ルート ファイルを編集します /etc/ssh/sshd_config 簡単なテキストエディタで。 の使用をお勧めします ドワーフ コンソールモードで。

nano / etc / ssh / sshd_config

次の行が存在する必要があります。

サブシステムsftp

レニーとスクイーズには次のものがあります。

サブシステムsftp / usr / lib / openssh / sftp-server

存在しない場合は、ファイルの最後に次のように追加します。

サブシステムsftpinternal-sftp

ファイルの編集を続行します sshd_config 最後に追加します:

グループグループに一致-sftpChrootDirectory%h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

変更を保存して、サービスを再起動します。

/etc/init.d/ssh 再起動

ユーザーを作成するにはどうすればよいですか?
まず、«を作成しますグループヘッド»で宣言すること sshd_config。 以前に選択した名前に注意してください。すでに存在していて、システムに属するグループであるということにはなりません。 システム内の既存のユーザーを制限したくない場合は、ファイルを転送できるように新しいユーザーを作成する必要があります。 ケージが機能するためには、問題のグループのメンバーであるケージも作成する必要があります。

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

グループとユーザーの作成を確認するには、次の操作を行います。

less / etc / password less / etc / group ls -l / home

そして、ユーザーが表示されます user1 y user2だけでなく、グループ group-sftp 作成されたユーザーに対応するもの。 また、ディレクトリを一覧表示する場合 /ホーム、作成された各ユーザーのホームディレクトリが表示されます。

ケージが効果的に機能するようにホームディレクトリを変更するにはどうすればよいですか?
作成した各ユーザーの個人用フォルダーのセキュリティを強化して、ユーザーが個人用ディレクトリの下に追加のフォルダーを作成できないようにし、必要な場所(必要な場所ではない)に書き込み権限を付与する必要があります🙂:

chown root:root / home / user1 / home / user2 chmod 755 / home / user1 / home / user2 cd / home / user1mkdirドキュメントhtml_publicchown user1:user1 * cd / home / user2mkdirドキュメントhtml_publicchown user2:user2 *

グループに属するユーザー group-sftp、今後は、SFTP経由でのみ名前とパスワードを使用してログインできるようになり、個人用フォルダーの下にある私たちが作成したディレクトリとの間でファイルを転送できるようになりますが、残りの部分は表示できなくなります。私たちのファイルシステム。

ファイルやフォルダの転送には、Nautilus、Konqueror、WinSCP、FileZillaなど、SFTPプロトコルをサポートするものを使用できます。 Konquerorの場合、使用する必要があります 魚://ユーザー@リモートコンピューター.

この記事がお役に立てば幸いです。
次の冒険まで、友達!

sftp_ノーチラス


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ヘクスボーグ

    良い記事。 ファイルを共有するための非常に安全な方法。 説明ありがとうございます。 🙂

  2.   電撃戦

    EXCELENTE

  3.   ロロ

    そして、sshfsを使用する方が快適ではありませんか?

    私たちのチームでは、リモートフォルダは同じ特性を持つもうXNUMXつのフォルダとして表示されます。

  4.   ヤコボ・イダルゴ

    こんにちはフェデリコ、いつものように素晴らしい記事。 インターネットからあなたの投稿を読むことができてとてもうれしいです。
    抱擁、
    Jako

    1.    ハンター

      ヤコボはどうですか、フェデリコは直接同意しません。 ねえ、あなたがもう戻ってきたとき、あなたは人間の緑と完全なopensuseを塗ります。 ハグ。 😉

  5.   KZKG ^我愛羅

    あなたは素晴らしい貢献をしています、それを続けてください😀

    1.    フェデリコ

      千KZKG ^ Gaaraに感謝し、フィードバックをありがとうございました

  6.   ジェネンセ

    ユーザーを/ home / user /…..以外のフォルダーにケージに入れることはできますか?

    私がやりたいのは、ユーザーを/ media / hdd /フォルダーにケージすることです...
    サーバーはRaspbianを備えたRaspberryPiであり、sdカードに/ home /…/フォルダーがあり、すぐにいっぱいになるため、この方法で行う必要があります。

    私はいくつかの方法でそれを試しましたが、クライアントでの結果は常に«壊れたパイプ»であり、致命的なサーバーでの結果です:chrootディレクトリコンポーネントの所有権またはモードの不良«/ media / HDD /»

    すべてにありがとうございました

    1.    フェデリコ

      そのパーティションがネイティブのLinux形式、つまりext4である限り、そのユーザーのホームフォルダーは/ home / HDDであることをシステムに通知する必要があると思います。 ext3; 等たとえば、ユーザーがjaeの場合、略して次のように実行する必要があります。

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

      manusermodも参照してください。 乾杯

  7.   ヘルナンデス

    問題があるか、アマゾンで公の友人とサービスを提供していて、ファイルを配置または削除するにはsftpから入力する必要があります。
    私は前にそれをしました、そしてすべては大丈夫です、しかし今日彼は私に起こらなかった何かを私にしました
    amiの中には一連のフォルダーがあり、そのうちのXNUMXつはキャプティブインターネットポータル(ユーザー向けのページ)です。そこで私はユーザー向けのプロモーションや宣伝を行っており、常に変更を加えてsftp(winscpを使用)でアップロードしています。ルート権限とルートパス
    書き込み権限のためにchmod777を与えましたが、すべてうまくいきました
    しかし、今日、Webを更新し、index.htmlとその他のファイルをアップロードすると、名前が付けられましたが、バイトが残っていない、つまりゼロ(空白)になっているため、Webに何も表示されません。
    セッションを閉じて再度入力し、アクセス許可を再度付与し、ユーザーを変更し、更新し、他のファイルを配置しようとし、新しいファイルを生成しようとすると、常に同じようになります。
    それは私にファイルを与えますが、それらにはデータがありません
    誰かが私を助けることができますか?
    私はあなたの答えを大いに感謝します
    まず第一に、ありがとう
    重なりあっ
    リック・アーヴィング・ヘルナンデス

  8.   FCC

    こんにちはfilezillaの使い方、私はすでにいくつかの方法を見てきましたが、まだ接続できません。
    それは間違っています。

  9.   ペドロ

    こんにちは、

    手順を実行すると、ケージは完全に機能しますが、フォルダ«documents»または«html_publico»に書き込もうとすると、アクセスが拒否されます。 それは言及された許可を持っており、それを許可するものは何もありません。

    drwxr-xr-x。 2 user1 user1 4096 Mar 11:13ドキュメント
    drwxr-xr-x。 2 user2 user2 4096 Mar 11 13:16 html_publico

    その結果、任意のフォルダーに書き込もうとするとアクセスが拒否されます。 ただし、getを実行すると許可されます。

    お早めにご協力いただければ幸いです。

    ご挨拶。