みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

HP-UXにopensshでパスワード無しログイン

ローカル(A)からリモート(B) にsshでパスワード無しの自動ログインをしようとしています.
A:RedHat Linux 9, B:HP-UX(B.11.11)

○現状

・Aにはrpmでopenssh-clients-3.5p1-11がインストールされています.
・Aにおいて,ssh-keygen -t dsa でパスフレーズ無しの鍵ペアを~/.ssh以下に作成
・Aで作成した~/.ssh/id_dsa.pubをBの ~/.ssh/ 以下に authorized_keys としてコピー

関連ファイル,ディレクトリのパーミションはA,B共に以下のとおり.

~/.ssh/(700)
~/.ssh/id_dsa(600)
~/.ssh/id_dsa.pub(644)
~/.ssh/authorized_keys(644)

Bには以下の手順でopenssl, openssh をインストール後,/usr/local/sbin/sshd でsshdを起動してあります.設定ファイルは変更していません.

・openssl-0.9.6c
./config && make && make test && make install

・openssh-3.7.1p2
./configure && make && make install

○問題

AからBにsshで接続するとパスワードを聞かれてしまう.

Bにopensshをインストールした際,何か,configure オプションや必要なライブラリが不足したりしているのでしょうか?

投稿日時 - 2003-09-25 13:52:27

QNo.663892

困ってます

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

うちのsshd_configで注釈でない行です。参考にしてみてください。
Windows側(putty)からRedhat9にDSAでパスワードなしでログインできています。


Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_dsa_key
SyslogFacility AUTHPRIV
RSAAuthentication yes
PubkeyAuthentication yes
RhostsAuthentication no
PasswordAuthentication no
PermitEmptyPasswords no
KeepAlive yes
Subsystem sftp /usr/libexec/openssh/sftp-server

投稿日時 - 2003-09-25 15:20:53

ANo.6

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

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

回答(6)

ANo.5

xjd

(追加)

DSAの場合は

authorized_keys2

ですよね?

投稿日時 - 2003-09-25 14:34:22

補足

皆様,ありがとうございます.#2 ~ #5まとめて補足します.

Marionetteさん.
> それでは逆なんじゃ?
逆じゃないと思います.普通交換するのは公開鍵だと思いますし,4台のLinux - Linux (つまり6通り)および,B->Aの自動ログインでは,この手順でうまく行っています.

ackyさん.
> Bの.ssh以下にknown_hostsというファイルがあり、そこにAの情報があるかどうか
これって,リモート側に必要なんでしたっけ?初回ログイン時にローカル側に自動作成されるものだと思ってましたけど.一応,B->Aのログインを試したときに,Aの情報が登録されてはいます.

> Bの方でauthorized_keysを作成した後にsshdは再起動
うーん,これも不要な気がするけど,一応 kill -HUP pid してみました.結果はN.G. です.

Windowsは手近に無いので,今は試せません.PuTTYなるものも初めて聞いたので,そのうち試してみます.

xjdさん
> PasswordAuthentication no
sshd_config を編集後 kill -HUP pid して接続すると,

Permission denied (publickey,keyboard-interactive).

ということで,一切ログインできなくなりました.
このあたりにヒントがありそうですね.やっぱりB側の環境か設定の問題かなぁ.

> authorized_keys2
すみません.最初の質問文に書くべきでした.すでにこれは試みています.結果はNG

投稿日時 - 2003-09-25 14:41:00

お礼

すみません,自己解決しちゃいました.

sshd -e -d -d -d とかやってログをとってみたところ,ホームディレクトリのパーミションがまずかったことが判明しました.
なぜかユーザーディレクトリが777で作成されてます.もう一人の管理者に言っておかなくちゃ.

ログをチェックするという基本を身につまされました.どうもお騒がせしました.

投稿日時 - 2003-09-25 15:18:28

ANo.4

xjd

こんにちは。

うちの場合はsshdサーバ側のsshd_configの中で

PasswordAuthentication no

と指定していますが、関係ないでしょうか?

投稿日時 - 2003-09-25 14:30:33

ANo.3

失礼しました、書いてありましたね。
ではBの.ssh以下にknown_hostsというファイルがあり、
そこにAの情報があるかどうかを確認してみて下さい。
とは言ってもこれが原因ではないような。。。

ところでWindowsでPuTTY等を使ってキーを作成してから、
同様の手順で自動ログインできるかどうかは試されましたか?

あとBの方でauthorized_keysを作成した後にsshdは再起動
されましたでしょうか?

思いつくまま挙げてみましたが、解決することを祈っています。

投稿日時 - 2003-09-25 14:22:36

ANo.2

自信ないですけど、それでは逆なんじゃ?

Bで作ったid_dsa.pubをBの~/.ssh/に authorized_keys としてコピー
Bのid_dsaをAに持って行く

WinのTeraTerm+TTSSHから Linuxへログインするのにそうしてますけど。
RSA1なんで identityと identity.pubですが。

投稿日時 - 2003-09-25 14:10:24

ANo.1

id_dsa.pubを作成する際にパスワードを設定しませんでしたか?
もし設定してしまったのなら、再度id_dsa.pubを作成し直してみて下さい。

投稿日時 - 2003-09-25 14:01:50

補足

ありがとうございます.質問文に

> パスフレーズ無しの鍵ペアを~/.ssh以下に作成

と書いたとおりです.パスフレーズは設定していません.

投稿日時 - 2003-09-25 14:05:10

あなたにオススメの質問