www-dataユーザーにscp / sshを許可する


11

私はUbuntu 10.04.2を使用してAmazon EC2にいます

私のWebフォルダーはwww-dataが所有しているので、sshおよびscpのwww-dataとしてサーバーにログインできるようにしたいと思います。

ありがとう!

/ etc / ssh / sshd_configに行を追加しても機能しないようです。

AllowUsers www-data

回答:


6

UbuntuのベースとなっているDebianでは、www-dataユーザーはデフォルトのシェルとして/ bin / shを持っています。SFTPを有効にするには、その中に/var/www/.ssh/authorized_keys公開鍵を作成します。のアクセス許可は/var/www/.ssh700であり、authorized_keysファイルのアクセス許可は600である必要があります。このディレクトリへのアクセスを禁止するには、http構成に以下を追加します。

<Directory /var/www/.ssh>
  Order Deny,Allow
  Deny from all
</Directory>

を使用して、www-dataのユーザー設定(ホームディレクトリ、シェルなど)を確認できますgetent passwd www-data

sshd_configにがSubsystem sftp /usr/lib/openssh/sftp-server設定されていることを確認してください。おそらく設定PasswordAuthentication noも必要でしょう。


2

これは一種の安全ではありません。別のユーザーを使用して中間領域にアップロードし、cron時々ジョブを実行して、物を移動する場所に移動し、それに応じて権限を変更することをお勧めします。

本当にとしてログオンすることを主張する場合www-dataは、ssh秘密鍵を使用してそれを行う必要があります(AFAIK EC2インスタンスでは、鍵認証のみが許可されます)。またwww-data、有効なシェル/etc/passwdと有効なホームディレクトリがあることを確認する必要があります。

最後に、この質問のいくつかの解決策を試すこともできます。


そのためにssh秘密鍵を使用することを計画していました。しかし、cronを使用してファイルをコピーする場合、cronスクリプトがファイルをコピーするまで待機する必要があるため、少し遅くなることはありませんか。また、ファイルをアップロードできません。私が本当に欲しいのは、www-dataのFTPのようなものですが、scpのように安全です。
あいまいな

私が与える他の解決策は実行可能であり、私はそのアイデアが好きではありません。
コアダンプ2011

-3

scpのwww-dataとしてログインするのは時間の無駄です。

scpコマンドの場合、ssh2_scp_sendファイルの転送に使用しない理由は簡単で、ユーザーwww-dataのadd-sshや公開鍵を作成する必要はありません。

例えば

ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);

うまくいくはず

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.