SFTPサーバは、リミットユーザーディレクトリを設定します

抜粋:https://blog.csdn.net/pdw2009/article/details/51189748

使用SSHDサービス構成は、内centos6.5でのsftp SFTPが付属しています。

概要:外国企業は前月のリストをアップロードする顧客は、スイッチにSFTPアップロードするために、セキュリティ上の理由から、FTPアップロードを使用しているアカウントが、制限ユーザーのルートディレクトリに持って、このレコードでは、この目的のために彼らの経験を多くの情報をインターネットで検索します。

内容:

何SFTPサーバ

SFTPサーバを構築する方法

ユーザーディレクトリを制限する方法

一般的なエラー

 

何SFTPサーバ

SFTPは略語セキュアファイル転送プロトコル、セキュアなファイル転送プロトコルです。これは、ファイルを転送するための安全な暗号化方式を提供することができます。SFTPとFTPは、ほぼ同じ構文と機能を持っています。SFTPはSSHの一部であり、Bloggerのサーバーにファイルを転送するための安全な方法です。何デーモン自体は、ポートは22で、SSHには含まれません。

SFTPサーバを構築する方法

   デフォルトではOpenSSLとOpenSSHパッケージを持って、Linuxシステムの主流のバージョンではデフォルトとSFTPサーバSFTPコマンドでインストールされているのsshコマンドを、持っています。

   いいえ、インストールは、インストールは、直接実装のようにCentOSに/ RedHatの、シンプルではありません。

[ルート@ rd168〜]#yumを-y OpenSSLをインストール

[ルート@ rd168〜]#yumを-yのopenssh-サーバーをインストールします

[ルート@ rd168〜]#yumを-yのopenssh-クライアントをインストールします

 

   そこインストールされているが、バージョンがSFTPサービスのユーザーを希望、低すぎるとされていることができますディレクトリ、バージョン4.8以上でのみアクセス特定のファイル:

以下はcentos5.11例に基づいて、ソースコードのアップグレード方法です。

0最初のビュー現在インストールされているバージョン

 ビューのopensslコマンドopensslのバージョンでのssh -VコマンドSSHバージョンとバージョンを確認します

[ルート@ rd168〜]#SSH -V

OpenSSH_4.3p2、OpenSSLの0.9.8e-FIPS-RHEL5 2008年7月1日

[ルート@ rd168〜]#のopensslのバージョン

OpenSSL 0.9.8e-FIPS-RHEL5 2008年7月1日

ソースパッケージの新しいバージョンをダウンロードするには1.公式サイト

     opensshの:ここhttp://www.openssh.com/portable.htmlを見つけるために、公式サイトをダウンロードするには、2つがあり、1は(私が必要なものを明らかにopensshのと、いない、など)のOpenBSDの直接ダウンロードされ、これは別ですポータブルバージョンの種類

     opensslの:http://www.openssl.org/source/

OpenSSLをインストールします。2.

 OpenSSLをインストールしてください、--sharedオプションまたは新しくインストールされたライブラリのopensslを見つけることができませんOpenSSHのコンパイル時に、文句を言うでしょうを追加するために覚えておく必要があります。opensslのヘッダとライブラリバージョンの不一致

 [ルート@ rd168〜] #tar -zxvfのopenssl-1.0.1j.tar.gz

[ルート@ rd168〜]#のCDは、CD-opensslの1.0.1j

[ルート@ rd168のopenssl-1.0.1j]#./config --prefix =は/ usr -shared

 [ルート@ rd168のOpenSSL-1.0.1j]#メイク
[ルート@ rd168のOpenSSL-1.0.1j]#メイクテスト(このステップは、ああ!は完全なテストSSL暗号化プロトコルでエラーが発生した場合、我々は最初のいくつかを識別しなければならない非常に重要ですそれ以外の場合は最終的にSSHを使用し、非常に深刻な影響ああ!)にすることはできませんつながる可能性が盲目的に引き続き、その理由はどこにある
[ルート#make installを@ rd168のOpenSSL-1.0.1j]

 正しくインストールビューopensslのバージョンが完了した後

[ルート@ rd168のopenssl-1.0.1j]#のopensslのバージョン

OpenSSL 1.0.1j 2014年10月15日

OpenSSHのインストール3

[ルート@ rd168]#のCDの../openssh-5.3p1

[ルート@ rd168]#タールzxvfのopenssh-5.3p1.tar.gz

[ルート@ rd168]#のCDの../openssh-5.3p1

 [ルート@ rd168のopenssh-5.3p1]#は./configure --prefix =は/ usr --with-pamの--with-zlibを--with-MD5-パスワード--with-TCP-ラッパー(のみのソースをインストールするには、このオプションを使用しますサポートlibwrap.so.0ライブラリはああ/hosts.allowとhost.denyを使用することができます!)

 [ルート@ rd168のopenssh-5.3p1]#メイク
 [ルート@ rd168のopenssh-5.3p1]#makeがインストール

正しくインストールビューOpenSSHバージョンの完了後

[ルート@ rd168のopenssl-1.0.1j]#SSH -V

OpenSSH_5.3p1、OpenSSLの1.0.1j 2014年10月15日

これは、/ usrの/ etc / sshd_configファイルでのインストール設定ファイルをsshdのだろう

4。/Etc/init.d/sshd世代サービス管理スクリプト

抽出したディレクトリへのSSH

 [ルート@ rd168のopenssh-5.3p1]##cd / contribの/ redhatの

 [ルート@ rd168のredhat]#cpはsshd.init /etc/init.d/sshd

 [ルート@ rd168のredhat]#chmodの+ X /etc/init.d/sshd

 [ルート@ rd168のredhat]#chkconfigを-add SSHD

最後に、有効にするSSHサービスの変更を開始:
 [ルート@ rd168のRedHat]#/etc/init.d/sshd再起動

ユーザーディレクトリを制限する方法

のみSFTPを介してユーザのアクセスを制限するためにユーザを追加します。1.


[rd168ホーム@ルート]#useraddの-m -s / sbinに/ nologinにdelcom03

2.唯一のホームディレクトリを入力するか、ディレクトリSFTPがログインするユーザーを制限します

それはそう変更は/ usrは、/ etc / ssh / sshd_configに、私がインストールされたソースで、-perfix =は/ usrではyumとRPMパッケージのインストールは、/ etc / ssh / sshd_configファイルで修飾されている場合。

[rd168ホーム@ルート]#vimのは/ usrは、/ etc / ssh / sshd_config


#Subsystem SFTPの/ usr / libexecに/ SFTPサーバ

サブシステムSFTPの内部SFTP-

 

ユーザーごとに設定を上書きする#例

#Matchユーザーのanoncvs

#X11Forwardingなし

#のAllowTcpForwardingなし

#ForceCommand CVSサーバ

 

        マッチユーザーdelcom03

        無X11Forwarding

        ChrootDirectory /ホーム/ delcom03

#のAllowTcpForwardingなし

        内部-SFTPをForceCommand

3.テストアクセス


[テストホーム@ルート]#SFTP -oport = 22 [email protected]

192.168.1.67への接続

ホスト「192.168.1.67(192.168.1.67)」の信憑性を確立することはできません。

RSAキーフィンガープリントは97である:E1:59:E6:89:4F:A0:72:DD:5D:BA:0B:15:75:B6:A8。

あなたは確かにあなたは(はい/いいえ)を接続し続けたいしていますか?

警告:永久既知のホストのリストに「192.168.1.67」(RSA)を加えました。

パスワードを[email protected]'s:

ピアによって接続がリセットさ:リモートホスト192.168.1.67から読みます

ピアによって接続がリセット:パケットを読み取ることができませんでした

4.接続が見つからない場合、ログの表示


[ルート@テストホーム]#テールの/ var / log / messagesに

12月11日8時58分41秒ローカルホストのsshd [4907]:致命的:chrootディレクトリに悪い所有権やモード「/ホーム/ delcom03」

12月11日8時58分41秒ローカルホストのsshd [4905]のpam_unix(SSHD:セッション):セッションは、ユーザdelcom03ため閉鎖します

ソリューション:

ディレクトリのパーミッション2:00に従うことを設定します。

ChrootDirectoryセットディレクトリのパーミッションと親フォルダのアクセス権のすべては、所有者とグループは、rootでなければなりません。

ChrootDirectoryセットディレクトリのパーミッションとすべての親フォルダのアクセス権、所有者のみが最大設定への書き込みアクセス権を持つことができる唯一の755することができます。

あなたは、ディレクトリは、ユーザーの一部のみであったとしても、2つの以上のポイントに従うことができない場合、それはまた、SFTPのすべてのユーザーに影響を与える可能性があります。

[rd168ホーム@ルート]#LL

drwxr --- --- 3 delcom03のdelcom03 4096 12月10日16:42 delcom03

[ルート@ rd168ホーム]#chownコマンドのルートdelcom03

[rd168ホーム@ルート]#chmodの755 delcom03

[rd168ホーム@ルート]#LL

drwxr-XR-X 3ルートdelcom03 4096 12月10日午前16時42 delcom03   

ここでは、解決するには、以下に、何の消去と書き込み権限delcom03 SFTPログインアカウントを見ることはできません。

[rd168ホーム@ルート]#ます。mkdir SFTP && chownコマンドdelcom03 SFTP

[rd168ホーム@ルート]#LL delcom03 /

drwxr-XR-X 3 delcom03ルート4096個の12月10日夜06時58 SFTP SFTPアップロードファイルディレクトリに、あなたはへの書き込みアクセス権を持っています

 

 

その後、試験による

[テストホーム@ルート]#SFTP -oport = 22 [email protected]

192.168.1.67への接続

パスワードを[email protected]'s:

SFTP>

SFTP> CD /

SFTP> PWD

リモート作業ディレクトリ:/

SFTP> LS

SFTP

SFTP> LS /

/ SFTP

SFTP> CDのSFTP

SFTP> PWD

リモート作業ディレクトリ:/ SFTP

SFTP> LLS

test.txtの

SFTP>置くtest.txtの

アップロードのtest.txtへ/sftp/test.txt

Test.txtを100%31キロバイト31.4キロバイト/ sの夜12時00分   

ユーザーはdelcom03がroot / SFTPディレクトリにファイルをアップロードすることができます見て、限られたユーザのホームディレクトリを持っていますが、ユーザーがマシンにログオンすることはできません。

 

クライアントの使用は、新聞などの文書にSFTP:アクセスが拒否されました

解決しよう:

ナノは/ etc / SELinuxの/ configの
SELINUX =無効
#rebootシステム
の再起動
http://blog.chinaunix.net/uid-26683523-id-3078694.html
----------------
権利免責事項:この記事はCSDNブロガー元の記事「pdw2009」で、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースのリンクと、この文を添付してください。
オリジナルリンクします。https://blog.csdn.net/pdw2009/article/details/51189748

おすすめ

転載: www.cnblogs.com/LiuYanYGZ/p/12464032.html