自分が持っている(Ubuntu 14.04)サーバーへのsshアクセスを誰かに許可しようとしていますが、自分のホームフォルダーに制限したいと思います。だから私は従おうとしています このチュートリアル 。
最初に、jailuserを使用してログインできるようにするユーザー(Sudo adduser jailuser
)を作成しました。次に、ユーザーを投獄しようとすることに進み、/etc/ssh/sshd_config
に以下を追加しました(そしてsshを再起動しました)。
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
次に、グループsftpを作成しました。
Sudo groupadd sftp
次のコマンドを実行して、jailuserを変更しました。
Sudo usermod -G sftp jailuser
Sudo usermod -s /bin/false jailuser
Sudo chown root:root /home/jailuser
Sudo chmod 0755 /home/jailuser
その結果、ログインできなくなりました:ssh: connect to Host xx.xxx.xx.223 port 22: Connection refused
。
私はサーバー管理の初心者なので、ここで迷子になっています。誰かが私が間違っていることを知っていますか?すべてのヒント/コツは大歓迎です!
この問題が発生しました。修正は、「Subsystemsftpinternal-sftp」スタンザの上に「UsePAMyes」を配置することでした。 sshを再起動すると、問題なく動作しました。
あなたが投稿したsshd_config
行に明らかに問題はありません。ここには3つの可能性があるようです。
sshd
を開始する必要があります。sshd
は実行できますが、正しいIPアドレスまたはポートでリッスンしていません。sshd
の開始を妨げています。以下のすべてについて、sshサーバーホスト上でroot
である必要があります。
(1)の場合、「ps -fe | grep sshd」のようなものを実行して、sshd
が実行されているかどうかを確認します。そうでない場合は、sshサーバーを起動してみてください。 Ubuntuでは、これを実行します:
/etc/init.d/ssh restart
sshd
が実行されている場合は、(2)に進みます。 ListenAddressまたはPortディレクティブのsshd_config
を確認してください。これらは、サーバーが接続をリッスンするIPアドレスとポートを制御します。ほとんどの場合、これらをコメントアウトしたままにするか(デフォルト値を使用するため)、それぞれ0.0.0.0と22に設定します。
sshd
を起動しようとしても実行されない場合は、/var/log
のログファイルでsshd
からのメッセージを確認することから始めます。彼らはそれがどんな問題を抱えているかを示しているかもしれません。それでも問題が解決しない場合は、デバッグを使用してsshd
をインタラクティブに実行できます。
/usr/sbin/sshd -ddd # Listen on the default port 22
/usr/sbin/sshd -ddd -p 1022 # Listen on port 1022
sshd
は端末への接続を維持し、一連のデバッグ情報を出力します。何らかの理由で実行を継続できない場合は、その理由を説明する必要があります。