お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2014-10-05 03:26:09

manilow
メンバ
登録日: 2013-12-01

UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

http://www.nina.jp/server/slackware/ope … a-key-pass



http://www.server-world.info/query?os=U … &p=ssl

を参考にして、opensslの自己(独自)証明書をapache2起動時に入力しなくてすむようにしたいと作業中ですが、次のコマンドにエラーが出て先に進みません。どこが悪いか?他に解決するコマンド等ありましたらご教示ください。


root@trusty1:~# openssl rsa -in server.key -out server.key

に対して次のエラーメッセージが出ます。

Error opening Private Key server.key
3073971900:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('server.key','r')
3073971900:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
unable to load Private Key

よろしくお願いいたします。

オフライン

 

#2 2014-10-05 07:50:33

ry
メンバ
登録日: 2008-07-30

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

3073971900:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('server.key','r')

なので、server.key ファイルを読み込む権限が無いということです。

現状でどう指定されているが分からないので以下を参照して、読み込み権限を付加すれば大丈夫です。
ファイル・ディレクトリのアクセス権限
アクセス権(パーミッション)の変更 - chmod
ファイル・ディレクトリの所有者とグループを変更する - chown

秘密鍵に対するアクセス権限は厳しめに設定するものなので、元々の設定されていたアクセス権と同じに戻しておかないと、アプリケーション (ここでは apache2) の起動時にそれをチェックしてエラーになります。

オフライン

 

#3 2014-10-05 15:19:54

manilow
メンバ
登録日: 2013-12-01

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

ry による投稿:

3073971900:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('server.key','r')

なので、server.key ファイルを読み込む権限が無いということです。

現状でどう指定されているが分からないので以下を参照して、読み込み権限を付加すれば大丈夫です。
ファイル・ディレクトリのアクセス権限
アクセス権(パーミッション)の変更 - chmod
ファイル・ディレクトリの所有者とグループを変更する - chown

秘密鍵に対するアクセス権限は厳しめに設定するものなので、元々の設定されていたアクセス権と同じに戻しておかないと、アプリケーション (ここでは apache2) の起動時にそれをチェックしてエラーになります。

ご教示ありがとうございます。

最初、出来るだけrootを使わず、

sudo

が設定せずに出来る、最初のユーザー、仮に maniow  とします。

manilow でssh で入って、sudoですべてやっていました。
が、どうしたことか?

sudo cd /etc/ssl/private

を受け付けてくれないのです?どーも、cdなのにおかしいなぁと思いながら、rootのpasswordを、それから設定し、
manilow で ssh ではいり su - でrootになって、実行したら、 権限が違う(私には分かりませんでした)というメッセージがでたようです。ということは、どうすればいいかと思いまして、列挙して頂いた、groupやその他の属性をよく読んで、頭で整理してみますが、うまくいかなかった場合、また、ご教示頂くことになるかも知れません。

結局、 manilow で sudoをしていたのを、すべて root でやるべきだったのでしょうか?

それまでは、設定はうまくいっていたので、突然の霹靂でした。(勉強不足です)

ぱっと分かる、簡単なアドバイスでクリアできるなら、アドバイスお願いいたします。

どうもありがとうございました。

オフライン

 

#4 2014-10-05 15:28:53

manilow
メンバ
登録日: 2013-12-01

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

追加です。

root@trusty1:~# ls -l  /etc/ssl/private/sever.key
-rw-r--r-- 1 root root 1743 Sep 29 09:31 /etc/ssl/private/sever.key

となっています。

オフライン

 

#5 2014-10-06 00:00:14

katsu07
ゲスト

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

参考にされているserverworldさんの手順では、一番最初に /etc/ssl/private/ へcdしていますよ。
最初の投稿の

root@trusty1:~# openssl rsa -in server.key -out server.key

を見る限りではカレントディレクトリが /root になっている様に見えます。
その場合、単に証明書を絶対パスで指定すれば良いだけな気がします。

$ sudo cd /etc/ssl/private が受け付けられないのは、cdがシェルの内部コマンドだからだと思います。
sudoはシェルの内部コマンドを扱えません。
こういう場合は $ sudo -s 又は sudo -i を実行してから、# cd /etc/ssl/private とすれば良いです。
(管理者権限のままになるので、コマンドが終了したら exit するのを忘れずに)
-s と -i の違いは $ man sudo で確認してください。

 

#6 2014-10-06 00:49:05

manilow
メンバ
登録日: 2013-12-01

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

katsu07 による投稿:

$ sudo cd /etc/ssl/private が受け付けられないのは、cdがシェルの内部コマンドだからだと思います。
sudoはシェルの内部コマンドを扱えません。
こういう場合は $ sudo -s 又は sudo -i を実行してから、# cd /etc/ssl/private とすれば良いです。
(管理者権限のままになるので、コマンドが終了したら exit するのを忘れずに)
-s と -i の違いは $ man sudo で確認してください。

katsu07 様

うまく行きました。取りあえず、独自の証明書が作れました。
どうもありがとうございます。こころから感謝します。

いろいろ、曖昧なまま、manilow を以下のURLから

http://www.server-world.info/query?os=Ubuntu_14.04&p=initial_conf&f=1

root@trusty1:~# usermod -G adm manilow

とやってしまい、sudo が利かなくなり、慌てて、調べて sudoのgroupに入れました。

manilowが他のgroupにも属していたのか?どうか?調べないと分かりません。

ここは自力でやってみます。が、もしわからなかったら、defaultのmanilowのgroupに戻すべきなので、それをまた質問させて頂きます。

sslができれば、なんとかなりますので、次のステップ慎重にやります。

本当にありがとうございました。   takeda shoji

オフライン

 

#7 2014-10-06 05:37:00

manilow
メンバ
登録日: 2013-12-01

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

自宅サーバー回線のISPとは別のISPから閲覧できることを確認しました。うまくいったようです。ありがとうございました。

オフライン

 

#8 2014-10-06 08:59:37

ry
メンバ
登録日: 2008-07-30

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

解決したようなので、個別の投稿に目を通していないのですが、一点だけ。

manilow による投稿:

が、どうしたことか?

sudo cd /etc/ssl/private

を受け付けてくれないのです?

sudo はサブ シェル内でコマンドを実行します。(※シェル=コマンド インタープリター: コマンドを解釈し実行する環境)
ですから、sudo cd ... としても cd コマンドは sudo で呼び出されたシェル内だけで完結指してしまい、sudo の終了と同時に無意味になります。
cd コマンドはそれを実行したシェルに対して現在のディレクトリの変更を指示する機能です。
現在のディレクトリの位置は、そのシェルだけが記憶しています。

sudo の実行 → 新たなシェルの起動 → 新シェル内で cd を実行 (元のシェルでは cd されていない) → 新シェルの終了(新シェルが記憶しているディレクトリ位置は消去される) → sudo の終了
こんな処理手順なので、sudo で実行した cd の結果は sudo の終了と同時に無意味になってしまいます。

/etc/ssl/private/ ディレクトリは root ユーザー以外はアクセスできない (正確には ssl-cert グループに属するユーザーならディレクトリ内のファイルへの直接アクセスが可能) になっているため、root ユーザー以外では cd はおろか ls すらできません。
    $ ls -ld /etc/ssl/private
    drwx--x--- 2 root ssl-cert 4096  9月 25 08:18 /etc/ssl/private

大抵のコマンドはファイル名をフルパスで指定できるので、cd しなくても以下の方法でも openssl コマンドが実行できます。

sudo openssl rsa -in /etc/ssl/private/server.key -out /etc/ssl/private/server.key

オフライン

 

#9 2014-10-06 09:17:06

manilow
メンバ
登録日: 2013-12-01

Re: UBUNTU14.04 server apache2 opensslの秘密鍵からパスフレーズを削除したい。

ry による投稿:

解決したようなので、個別の投稿に目を通していないのですが、一点だけ。

manilow による投稿:

が、どうしたことか?

sudo cd /etc/ssl/private

を受け付けてくれないのです?

sudo はサブ シェル内でコマンドを実行します。(※シェル=コマンド インタープリター: コマンドを解釈し実行する環境)
ですから、sudo cd ... としても cd コマンドは sudo で呼び出されたシェル内だけで完結指してしまい、sudo の終了と同時に無意味になります。
cd コマンドはそれを実行したシェルに対して現在のディレクトリの変更を指示する機能です。
現在のディレクトリの位置は、そのシェルだけが記憶しています。

sudo の実行 → 新たなシェルの起動 → 新シェル内で cd を実行 (元のシェルでは cd されていない) → 新シェルの終了(新シェルが記憶しているディレクトリ位置は消去される) → sudo の終了
こんな処理手順なので、sudo で実行した cd の結果は sudo の終了と同時に無意味になってしまいます。

/etc/ssl/private/ ディレクトリは root ユーザー以外はアクセスできない (正確には ssl-cert グループに属するユーザーならディレクトリ内のファイルへの直接アクセスが可能) になっているため、root ユーザー以外では cd はおろか ls すらできません。
    $ ls -ld /etc/ssl/private
    drwx--x--- 2 root ssl-cert 4096  9月 25 08:18 /etc/ssl/private

大抵のコマンドはファイル名をフルパスで指定できるので、cd しなくても以下の方法でも openssl コマンドが実行できます。

sudo openssl rsa -in /etc/ssl/private/server.key -out /etc/ssl/private/server.key

ryさん 詳しい解説ありがとうございます。
sudoとシェルの関係、よく理解し覚えておきます。


追記 昨日あれからvsftpdも設定しましたがどうもうまく行きません。
sslを追加するまでは当然うまく行っていました。少し探って、問題点が明確になったら、また、お聞きすると思います。どうぞよろしくお願いいたします。

オフライン

 

Board footer

Powered by FluxBB