このチュートリアルでは、SSHを構成してSFTPを許可し、SSHログインアクセスを禁止する方法について説明します。
解決策:
ええと、 SFTP SSHを使用します デフォルトでは、ユーザーはSSHとSFTPの両方を使用できます。ただし、ユーザーがSFTPのみを使用し、SSHアクセスを禁止する場合は、OpenSSHがそれをサポートします。 OpenSSHバージョン4.9から、 sshd_configを編集できます。 以下に示すようなファイル:
SFTPを許可してSSHを禁止する方法
ステップ1 :SSH構成ファイルを編集する
# vim /etc/sshd_config
ステップ2 :FTPサブシステムを探してください。
場合によっては、サブシステム すでに以下のように設定されています:
Subsystem sftp /usr/lib/openssh/sftp-server
次に、次のように変更する必要があります:
Subsystem sftp internal-sftp
両方のsftp-server およびinternal-sftp SSHのサブシステムですが、 internal-sftp 最も好ましい。その理由は、 internal-sftp 処理中のsftp stp-serverよりもパフォーマンスが優れているサーバー また、 ChrootDirectory とともに使用する場合は、追加のサポートファイルは必要ありません。 オプション。
ステップ3 :以下の行を追加してください
Match group ftp ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
「Matchgroupftp」を探してください ‘SFTPを使用するユーザーは、‘ ftpというグループに属する必要があることを示す行 ‘(必要に応じて独自のグループを作成します)。 internal-sftpも使用します ChrootDirectory を使用するため、サブシステムは重要です。 オプション。
注 :上記の行が「 UsePAMyes」の後に追加されていることを確認してください ‘ sshd_config ファイル。
ステップ4 :ユーザーをFTPグループに追加します。
# vim /etc/group
FTPグループを探し、以下に示すようにユーザーを追加します(例:ユーザー‘ sysadmin ) ‘。
ftp:x:113:sysadmin
ユーザーのホームディレクトリを/
に変更する必要がある場合があります Chrootを使用しているため およびroot / home / userの所有者である必要があります 。
ステップ5 :SSHサービスを再起動する前に、構成が適切かどうかをテストしてください。 この手順は非常に重要です。
# sshd -t
エラーがある場合は、画面に表示されます。それ以外の場合、出力は表示されません。
ステップ6 :SSHDサービスを再起動します
# /etc/init.d/ssh restart
(または)
# /etc/init.d/sshd restart
(または)
# service ssh restart
(または)
# service sshd restart
ステップ7 :テスト
これで、「 ftp」に属するすべてのユーザー ‘グループはSFTPの使用を許可されますが、SSHを使用してログインすることはできません。
注 :上記のコマンドは、Ubuntu14.04.4LTSで実行およびテストされました。