こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

apacheでパスワードなしログインが出来ない

いつもお世話になります、
PHPからrsyncを実行するため、

apacheでパスワードなしログインが出来るようにしたいのですが
設定をしても、どうしてもパスワードを要求されてしまいます。

エラーメッセージが出ないので八方ふさがりになってしまいました
LINUX上級者の方ご教授頂けると嬉しいです

クライアント:CentOS5
サーバ:RedHutLinux5.6

【行いたいこと】
apacheでパスワードなしログインが出来るようにしたい


【クライアント側】
1.まずはapacheでsuできるようapacheユーザの最後の/sbin/nologinを/bin/bashに変更

2.apacheユーザの秘密鍵と公開鍵を置く場所を作る
# mkdir /var/www/.ssh
# chmod 700 /var/www/.ssh
# chown apache.apache /var/www/.ssh

3.apacheユーザの秘密鍵と公開鍵を作る
# su - apache
$ ssh-keygen -t rsa
空でenter

4.以下の文字列をコピー
$ cat ~apache/.ssh/id_rsa.pub

【サーバ側】
5./etc/passwdにapacheが見当たらなかったので追加
apache:x:48:48:Apache:/var/www:/bin/bash

6./etc/groupにapacheが見当たらなかったので追加
apache:x:48:

7.フォルダを作り公開鍵をペースト
# mkdir /var/www/.ssh
# chmod 700 /var/www/.ssh
# chown apache.apache /var/www/.ssh
# chown apache.apache /var/www/.ssh/authorized_keys
# chmod 600 /var/www/.ssh/authorized_keys

8.権限付与
# chgrp -R apache /var/www/html

【クライアント側】
9.apacheにsuする

10.SSHで接続
ssh -i /var/www/.ssh/id_rsa XX.XX.XX.XX

11.パスワードを聞かれてしまう
apache@XX.XX.XX.XX's password:

失敗

投稿日時 - 2012-05-22 14:09:20

QNo.7489761

すぐに回答ほしいです

質問者が選んだベストアンサー

> エラーメッセージが出ないので八方ふさがりになってしまいました

ssh -v -i /var/www/.ssh/id_rsa XX.XX.XX.XX

と -v をつけて接続すると、接続試行しているところが見れます。
そのメッセージから失敗している原因がわかると思います。

投稿日時 - 2012-05-22 21:08:50

お礼

t-okura様

ご教授くださりありがとうございます!

-vでエラーが表示されるのですね、まだまだ勉強が足りなくお恥ずかしい限りです。

エラーメッセージを表示させたところ解決に至りました!
サーバ(RedHat)側のapacheがapacheではなく別名になっており
また各ユーザーのホームディレクトリ以下に設置していないのが原因でした

これでスッキリしました、本当にありがとうございます。

投稿日時 - 2012-05-25 10:19:25

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

No.1です。
私はssh-agentを使ってしかやったことが無いので、
仰る様なやり方で出来るのか実は分からないのですが、
この方法も試されてみては如何でしょうか。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/447nonpassh.html

ちなみに、該当部分の作業はクライアント側ですのでお気を付け下さい。

投稿日時 - 2012-05-23 12:53:18

お礼

utun01様

再度、ご教授くださりありがとうございます!

解決したのでまだ試しておりませんが
「ssh-agent」別のやり方があるのは大変興味深いです
こちらも勉強したいと思います

お忙しい中、私のために貴重な時間を割いて頂き本当にありがとうございます。
今後ともよろしくお願い申し上げます。

投稿日時 - 2012-05-25 10:21:48

ANo.1

そもそもですが、サーバ側の「5.」と「6.」はまずいです。
普通にuseraddでユーザを追加するべきですね。
ユーザ情報を管理しているのは/etc/passwdと/etc/groupだけではありません。
具体的には/etc/shadowとかにも影響します。
一旦該当の設定を削除して、useraddで追加することをお勧めします。

あと、公開鍵方式についてですが
/etc/ssh/sshd_configの設定もちゃんと変更しないとできません。
詳細に書くと長いので、以下の辺りをご参照ください。
http://kajuhome.com/openssh.shtml

投稿日時 - 2012-05-22 14:41:26

お礼

utun01様

ご教授いただきありがとうございます!

useraddの件御指摘ありがとうございます!
そもそもhttpdがインストールされているのに
なぜ「apache」がユーザとして登録されていなかったのか謎です
RedHutLinux5.6はそういうものなのでしょうか

本題の
/etc/ssh/sshd_configの設定の件
PubkeyAuthentication yes
RSAAuthentication yes
サーバ側の上記2つをyesにして再起動しましたが、やはりパスワードを聞かれてしまいます

リンクされている内容、他のサイトの鍵ペアを説明しているページにも結構書いてあったのですが

PasswordAuthentication no

パスワード接続禁止
上記はセキュリティをより高めるための設定であり、本件を実現させるには関係ないですよね??
サーバは海外にあるので、万が一SSHがパスワードで繋がらなくなったら困るので本設定は適用していません。

このほかに鍵ペアに影響する設定はございますでしょうか
お忙しい中恐縮ですが、分かる場合はご教授いただくと嬉しいです

投稿日時 - 2012-05-22 18:02:56

あなたにオススメの質問