
私のサーバーからパッケージを自動的にダウンロードしてクライアントサーバーに設定するためのいくつかのシェルスクリプトを書いています。スクリプトのある時点で、ダウンロードコマンドはwgetです。http://example.com/file/secure_download.tar.gz- 誰でもこのファイルをスキャンしてダウンロードできるので、この機密ファイルをパブリックサーバーで使用しないことをお勧めします。しかし、これらのディレクトリに対する認証を要求することはできますが、wgetコマンドを使用してアクセス資格情報をどのように渡しますか?それともこれを達成するより良い方法はありますか?
答え1
~からwget マニュアル:
「--ユーザー=ユーザー」
'--password=パスワード'
FTPおよびHTTPファイルを検索するためのユーザー名ユーザーとパスワードのパスワードを指定します。これらのパラメータは、FTP接続の場合は「--ftp-user」および「--ftp-password」オプションを使用し、HTTP接続の場合は「--http-user」および「--http-password」オプションを使用します。オーバーライドできます。
だからあなたが探しているものは次のとおりです。
$ wget --user=n3rve --password='mylittlepony' http://example.com/file/secure_download.tar.gz
可能であれば、あなたとクライアントサーバー間でSSHキーを生成して共有するSFTPサーバーを設定することをお勧めします。これにより、クライアントサーバーはSFTPサーバーに安全に接続して必要なファイルを抽出できます。
wget
これは、Webサーバーで使用するよりもはるかに安全な方法です。完全な設定では、クライアントに公開鍵を提供するように要求する必要があります。公開鍵をファイルに追加するid_rsa.pub
と.ssh/authorized_keys
、クライアントは次のように接続されます。
$ sftp [email protected]
[OR]
$ sftp [email protected]
* Sshキーペアを使用して信頼できるネットワークを作成するため、パスワードは不要です。