warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.

Perl で、ssh でリモートのサーバにアクセスしてファイルをアップロード(SCP)する方法 (Net::SSH2)

バックアップのためにリモートのサーバにファイルをコピー(アップロード)したい。 そんな欲求が私の中に生まれた。Linux ではファイルを ssh でコピーするのに scp というコマンドがあるので、早速試してみたのは Net::SCP という Perl のモジュールなのだが、なぜかこのモジュールのメソッドにはパスワードを指定するものがない。ホスト名とユーザー名しか指定しないのだ。ではパスワードはどこにいった?
バックアップのためにリモートのサーバにファイルをコピー(アップロード)したい。 そんな欲求が私の中に生まれた。Linux ではファイルを ssh でコピーするのに scp というコマンドがあるので、早速試してみたのは Net::SCP という Perl のモジュールなのだが、なぜかこのモジュールのメソッドにはパスワードを指定するものがない。ホスト名とユーザー名しか指定しないのだ。ではパスワードはどこにいった?

Fedora Core 6 で、パッケージマネージャで追加した phpMyAdmin を使う。

Fedora Core 6 のパッケージマネージャで phpMyAdmin を追加しても、localhost からしかアクセスできないので注意する。以下は必要情報。
  • phpMyAdmin がインストールされるディレクトリ: /usr/share/phpMyAdmin
  • アクセス URL: https://127.0.0.1/phpMyAdmin/
  • パスワード: MySQL のユーザー名とパスワード
  • localhost 以外からアクセスできるようにしたいときは、phpMyAdmin.conf の セクションを以下のように修正する。
    <Directory /usr/share/phpMyAdmin/>
       order deny,allow
    #   deny from all ←コメントアウト
    #   allow from 127.0.0.1 ←コメントアウト
       allow from all # ←すべてのマシンからアクセス可能にしてしまえ!
    </Directory>
Fedora Core 6 のパッケージマネージャで phpMyAdmin を追加しても、localhost からしかアクセスできないので注意する。以下は必要情報。
  • phpMyAdmin がインストールされるディレクトリ: /usr/share/phpMyAdmin
  • アクセス URL: https://127.0.0.1/phpMyAdmin/
  • パスワード: MySQL のユーザー名とパスワード
  • localhost 以外からアクセスできるようにしたいときは、phpMyAdmin.conf の セクションを以下のように修正する。
    <Directory /usr/share/phpMyAdmin/>
       order deny,allow
    #   deny from all ←コメントアウト
    #   allow from 127.0.0.1 ←コメントアウト
       allow from all # ←すべてのマシンからアクセス可能にしてしまえ!
    </Directory>

Apache 2.0 で、cgi-bin ディレクトリ以外で index.cgi を有効にする方法

https://yourdomain.com/ にアクセスしたときに、実際は https://yourdomain.com/index.cgi でアクセスさせるためには、どうしたらいいだろう? Fedora Core 6 だと、/etc/httpd/conf/httpd.conf という設定ファイルの中で、 AllowOverride というオプションが NONE になっているから、/var/www/html 配下に置いた .htaccess がデフォルトだとすべて無効になっているのである。 …というわけで、まずは /etc/httpd/conf/httpd.conf の中で、 AllowOverride というオプションが NONE になっている箇所を探して( セクションの中)、AllowOverride All にした上で、以下のように /var/www/html/.htaccess を設定すればよい。
https://yourdomain.com/ にアクセスしたときに、実際は https://yourdomain.com/index.cgi でアクセスさせるためには、どうしたらいいだろう? Fedora Core 6 だと、/etc/httpd/conf/httpd.conf という設定ファイルの中で、 AllowOverride というオプションが NONE になっているから、/var/www/html 配下に置いた .htaccess がデフォルトだとすべて無効になっているのである。 …というわけで、まずは /etc/httpd/conf/httpd.conf の中で、 AllowOverride というオプションが NONE になっている箇所を探して( セクションの中)、AllowOverride All にした上で、以下のように /var/www/html/.htaccess を設定すればよい。

OpenSSL で、秘密鍵と公開鍵が入ったファイルから公開鍵だけ取り出す方法

OpenSSL で CA.sh や CA.pl を使って自分で認証局を立てて自己署名した証明書を発行すると、証明書と秘密鍵が一緒に入った以下のようなファイルが作られる。ファイル名が同じであれば、拡張子つまりファイルフォーマットが違うだけでどれも内容は同じだ。 (クライアント)
  • cert-clt.pem
  • cert-clt.der
  • cert-clt.p12
(サーバ)
  • cert-srv.pem
  • cert-srv.der
  • cert-srv.p12
(認証局)
  • root.pem
  • root.der
  • root.p12
ここで、秘密鍵と公開鍵が入った cert-srv.pem のファイルから公開鍵だけ取り出すには、以下のコマンドを実行ればよい。 openssl rsa -pubout -outform PEM -in cert-srv.pem -out public-srv.pem 実行するとパスフレーズを聞いてくるので、秘密鍵のパスフレーズを入力する。すると、新規に public-srv.pem ファイルが作成されて cert-srv.pem に入っていた公開鍵だけが出力される。
OpenSSL で CA.sh や CA.pl を使って自分で認証局を立てて自己署名した証明書を発行すると、証明書と秘密鍵が一緒に入った以下のようなファイルが作られる。ファイル名が同じであれば、拡張子つまりファイルフォーマットが違うだけでどれも内容は同じだ。 (クライアント)
  • cert-clt.pem
  • cert-clt.der
  • cert-clt.p12
(サーバ)
  • cert-srv.pem
  • cert-srv.der
  • cert-srv.p12
(認証局)
  • root.pem
  • root.der
  • root.p12
ここで、秘密鍵と公開鍵が入った cert-srv.pem のファイルから公開鍵だけ取り出すには、以下のコマンドを実行ればよい。 openssl rsa -pubout -outform PEM -in cert-srv.pem -out public-srv.pem 実行するとパスフレーズを聞いてくるので、秘密鍵のパスフレーズを入力する。すると、新規に public-srv.pem ファイルが作成されて cert-srv.pem に入っていた公開鍵だけが出力される。