• ベストアンサー
  • 困ってます

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 オプションや必要なライブラリが不足したりしているのでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数6
  • 閲覧数1017
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.6
  • xjd
  • ベストアンサー率63% (1021/1612)

うちの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

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • sshでパスワードなしにする方法(サーバ)

    リモートのコンピュータ(windows2003server)にクライアント(HU-UX)からsshを利用して自動実行したいのですが、どうしてもパスワードを聞かれてしまいます。 クライアント側 # ssh -v OpenSSH_3.7, SSH protocols 1.5/2.0, OpenSSL 0.9.7c 30 Sep 2003 サーバ側 C:\Documents and Settings\Administrator>ssh -v OpenSSH_3.8.1p1, OpenSSL 0.9.7d 17 Mar 2004 手順は クライアント側 # ssh-keygen -t rsa1 下記が作成される 秘密鍵: ~/.ssh/id_dsa 公開鍵: ~/.ssh/id_dsa.pub id_dsa.pubをリモート側の~/.sshに転送する。 リモート側 id_dsa.pubをauthorized_keysに追加する。 以上です。

  • sftpのパスワードなしでログイン

    sftpのパスワードなしで自動化をしたいと考えています。 シェル内で他の処理をして、その後sftpで他のサーバーへコピー(put)します。 シェル内にsftpの起動する内容を記載するのですが、どうしてもパスワードを聞かれてしまいます。 調べてみるとSSH公開鍵認証を使用してパスワードなしのログインが出来るとありました。 試してみたのですが、どうしてもうまくログインできません。 原因と対応策を教えて頂けませんでしょうか。 OS:AIX5.3 おこなった作業は以下です。 サーバー側(ファイルを受ける側) 1、ユーザーのホームディレクトリ上でssh-keygen -t rsa を実行 2、.sshにid_rsa、id_rsa.pubができるので、id_rsa.pubをauthorized_keysへ変更する。 3、authorized_keysをクライアントに送る。 4、id_rsa、authorized_keysのアクセス権を600にする。 5、sshd.confgを編集 <編集箇所> RSAAuthentication yes   →コメントアウト PubkeyAuthentication yes  →コメントアウト AuthorizedKeyFile .ssh/authorized_keys  →コメントアウト PasswordAuthentication no →コメントアウト、yesをnoに変更 PermitEmptyPasswords yes →コメントアウト、noをyesに変更 ChallengeResponseAuthentication no →コメントアウト、yesをnoに変更 6、保存してsshdを再起動 クライアント側(ファイルを送る側) 1、ホームディレクトリの.sshにauthorized_keysを配置する。 2、authorized_keysのアクセス権を600にする。 3、sshdを再起動 以上の作業の後にクライアントからsftpでログインしようとすると、 以下のメッセージが出てしまいます。 sshも同様です。 (ログインしてホームディレクトリにいるとします) $ sftp -i ./ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey). Connection closed $ ssh -i .ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey).

  • DSA認証でパスワードを聞かれてしまう・・

    ssh の公開鍵認証がうまく行きません。 つぎのようにやりました。 #ssh-keygen -t dsa #scp /home/hoge/.ssh/id_dsa.pub hoge@remotehost:/home/hoge/ #ssh hoge@remotehost hoge@remotehost's password:  ←パスフレーズを入力します #cat id_dsa.pub >> /home/hoge/.ssh/authorized_keys このあと、 ●.ssh のモードを 700 ●authorized_keys のモードを 600 に設定します。 こうすると、次のログインでは、 だいたいのホストでは、パスフレーズ入力だけになって、 パスワードは聞かれません。 しかし、ホストによっては、 パスフレーズ入力+パスワード入力が必要になります。 なぜでしょうか? うまく行っていないホストは redhat です。

その他の回答 (5)

  • 回答No.5
  • xjd
  • ベストアンサー率63% (1021/1612)

(追加) DSAの場合は authorized_keys2 ですよね?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

すみません,自己解決しちゃいました. sshd -e -d -d -d とかやってログをとってみたところ,ホームディレクトリのパーミションがまずかったことが判明しました. なぜかユーザーディレクトリが777で作成されてます.もう一人の管理者に言っておかなくちゃ. ログをチェックするという基本を身につまされました.どうもお騒がせしました.

質問者からの補足

皆様,ありがとうございます.#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

  • 回答No.4
  • xjd
  • ベストアンサー率63% (1021/1612)

こんにちは。 うちの場合はsshdサーバ側のsshd_configの中で PasswordAuthentication no と指定していますが、関係ないでしょうか?

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • acky
  • ベストアンサー率31% (182/583)

失礼しました、書いてありましたね。 ではBの.ssh以下にknown_hostsというファイルがあり、 そこにAの情報があるかどうかを確認してみて下さい。 とは言ってもこれが原因ではないような。。。 ところでWindowsでPuTTY等を使ってキーを作成してから、 同様の手順で自動ログインできるかどうかは試されましたか? あとBの方でauthorized_keysを作成した後にsshdは再起動 されましたでしょうか? 思いつくまま挙げてみましたが、解決することを祈っています。

共感・感謝の気持ちを伝えよう!

  • 回答No.2

自信ないですけど、それでは逆なんじゃ? Bで作ったid_dsa.pubをBの~/.ssh/に authorized_keys としてコピー Bのid_dsaをAに持って行く WinのTeraTerm+TTSSHから Linuxへログインするのにそうしてますけど。 RSA1なんで identityと identity.pubですが。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • acky
  • ベストアンサー率31% (182/583)

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます.質問文に > パスフレーズ無しの鍵ペアを~/.ssh以下に作成 と書いたとおりです.パスフレーズは設定していません.

関連するQ&A

  • solarisでopensshインストール

    おしえてください!! opensshを導入しようと思い、調べてみると「opensslが必要で、インストールだけしてやれば良い」という情報がありました。 っで、「なんだ~インストールするだけでいいのね」とopenssl0.9.4をインストールして「ではopensshをば・・・」とopenssh2.1.0をconfigureしようとすると下記のメッセージが出てきます。 checking for OpenSSL directory... configure: error: Could not find working SSLeay / OpenSSL librarie s, please install なぜ、なにゆえ???これってopensslのインストールがうまくいってないということなのでしょうか?それとも設定をしてやらないといけないとか?

  • パスワードなしで ssh のログインを行いたい

    http://www.okweb.ne.jp/kotaeru.php3?q=588282 の続きです いろいろ回答をいただいて問題点が少しはっきりしたので、質問の焦点を絞って再投稿します。 2台の Windows XP の PC に、Cygwinをいれ、OpenSSH サーバをたてています(サービスとして動かす)。  「パスワードなしで ssh のログインを行いたい」 のですが、うまくいきません。設定は、次のように行いました。 (1) クライアントPCで公開鍵をつくる   $ ssh-keygen -t rsa で(パスフレーズを空白にして)公開鍵を作成(identity.pub) (2) ホストPCに鍵をコピーして、   % cat identity.pub >> .ssh/authorized_keys のように、authorized_keys に鍵の内容を追加する。 Linux がホストの場合は、以上の手続きで「パスワードフリー」になったのですが、 Cygwin ではだめです。   $ssh -1 192.168.0.5 1   Permission denied.   $ ssh 192.168.0.5   Permission denied (publickey,keyboard-interactive). のようになって、失敗してしまいます。

  • パスワード入力なしでsshログイン

    パスワード入力なしでsshログインしたいけど上手く行きません。 CentOS7のPCが2台(CentOS7-C, CentOS7-S)あります。 CentOS7-CからCentOS7-Sにパスワード入力なしでsshログイン(鍵認証でログイン)したいと思い、下記のサイトを参考にしながら悪戦苦闘しています。 パスワード入力なしでsshログイン(鍵認証でログイン) https://setting-tool.net/ssh-key-authorize <手順> クライアント側  ssh-keygen -t rsa でキー生成 サーバー側  クライアントで生成したキーを保存 <コマンド> ■前提 クライアント側 CentOS7-C 172.16.0.201 サーバー側 CentOS7-S 172.16.0.202 ■クライアント側設定 キーの発行 [root@CentOS7-C ~]# ssh-keygen -t rsa パーミッション設定 [root@CentOS7-C ~]# chmod 700 /root/.ssh [root@CentOS7-C ~]# chmod 600 /root/.ssh/* キーファイルをサーバー側に送る [root@CentOS7-C ~]# rsync -av -e ssh /root/.ssh root@172.16.0.202:/root/.ssh/from172.16.0.201 この時は手動でパスワード入力 ■サーバー側設定 クライアントからのキーファイルを別名で保存 [root@CentOS7-S ~]# cp /root/.ssh/from172.16.0.201/.ssh/id_rsa.pub /root/.ssh/authorized_keys キーファイルのパーミッション設定 [root@CentOS7-S ~]# chmod 600 /root/.ssh/authorized_keys ■クライアント側から接続 [root@CentOS7-C ~]# ssh root@172.16.0.202 Enter passphrase for key '/root/.ssh/id_rsa': 成功していればパスワードを聞かれずにログイン。 しかし、失敗しているので、パスワードを要求されている。 <考察> クライアントで生成したキーをサーバーにリモートコピーするだけなのに上手く行かない。 シンプルな話、 クライアントの /root/.ssh/id_rsa.pub と サーバーの /root/.ssh/authorized_keys が 同じであれば成立するというだけの話に思えるが、 クライアントでのcat /root/.ssh/id_rsa.pub と サーバーでのcat /root/.ssh/authorized_keys を見比べても全く同じなのに上手く行きません。 何が悪いのでしょうか?

  • OpenSSHでのconfig

    ubuntuでaptでopenssh-serverをインストールしました。 /etc/ssh/ を見ると、ssh_configとsshd_configと二つあったのですが、この二つはどういった意味合いなのでしょうか? また、 /etc/init.d/ には、sshしかありませんでしたが、それでもsshd_configは意味があるのでしょうか?

  • SSHのパスワード無し認証(公開鍵暗号方式)

    過去ログに似た質問がいくつかあり、それらを参考にしましたが、何故か私の環境では上手く行かないので、何が原因なのか、どうすればよいのか、どなたか教えて頂けると嬉しく思います。 ■やりたいこと ・SSHでパスワード無しログイン ■環境条件 ・ローカルマシン(接続元)   VineLinux 3.1 ・ホストマシン(接続先)   VineLinux 3.1 ・両方のマシンに同じユーザ(hikaly)があり、ログインパスワードは同じものになっている。 ■手順 ローカルマシンにhikalyでログインし、 $ ssh-keygen -t rsa -N "" でパスフレーズ無しの鍵を作成する。 /home/hikaly/.ssh/id_rsa.pub というファイルを、ホストの /home/hikaly/.ssh/ にコピー。この際、WinSCP3を使って、ローカル→作業用Windowsマシン→ホスト とコピーを行いました。 ホストの /home/hikaly/.ssh/ には authorized_keys が存在しなかったので、コピーした rsa_id.pub を authorized_keys に改名。 ホスト側で root になって sshd_config を編集。 RSAAuthenticationを「yes」にして保存。sshdを再起動させました。 ■結果 これでローカル側からホスト側にパスワード無しで接続できるはずだと思いますが、 hikaly@hostmachine's password: とパスワードを尋ねられてしまいます。 いろいろとググッて調べてみたところ、「接続先(ホスト側)でssh-keygenしてできたrsa_id.pubを接続元(ローカル側)にコピーせよ。」と読める資料を見つけましたが、多くのものは「接続元でssh-keygenして接続先にコピーせよ。」と書かれています。ワケ分からなくなってきました。(;´ρ`) 私の質問もややこしくてワケ分からなくてすいません。

  • 外出先ホストからでも容易にSSH公開鍵アクセスできるようにするには

    RedHat9(host1)─WAN─RedHat9(host2) | WAN | Solaris2.6 としています。 host2で [user01@host2]$ ssh-keygen -t dsa [user01@host2]$ ssh-keygen -t rsa [user01@host2]$ ssh-keygen -t rsa1 [user01@host2]$cat ~/.ssh/id_dsa.pub >> ~/authorized_keys [user01@host2]$cat ~/.ssh/id_rsa.pub >> ~/authorized_keys [user01@host2]$cat ~/.ssh/identity.pub >> ~/authorized_keys [user01@host1]$ scp -P 60001 user01@host2:~/authorized_keys ~/.ssh/ [user01@host1]$ ls -l ~/.ssh/authorized_keys -rw------- 1 user01 user01 1179 1月 8 11:17 /home/user01/.ssh/authorized_keys [user01@host1]$ ls -alF ~/ | grep ssh drwx------ 2 user01 user01 4096 12月 23 13:06 .ssh/ として [user01@host2]$ ssh -l user01 host1 -p 60001 Enter passphrase for key '/home/user01/.ssh/id_rsa': となり、アクセスできました。 続いて、 [hoge@solaris]$ scp -P 60001 user01@host2:~/.ssh/* ./.ssh/ として host2の公開鍵、秘密鍵をコピーしました。 そして、 [hoge@solaris]$ ssh -l user01 host1 -p 60001 としてみましたら、 「Permission denied」 となってアクセス出来ません。 どうすればアクセス出来るようになるのでしょうか?

  • sshについて

    linux初心者です。いまsshについて勉強しています。ssh-keygenで作った鍵を相手に送りました。ちなみにidentity.pubをauthorized_keysにコピーしてから送りました。それからホストの中の~/.sshにmvでauthorized_keysに入れました。しかしsshを使うとパスワードを聞かれます。パスフレーズではいるにはどうしたらよいですか。

  • openssh を起動できません

     SSD/LINUX というLinux OS( 2.4) を使っています。 opensshをインストールして、root権限でキーを作成し しました。  そして、rootでログインして、sshdで起動したら、 --------------------- Could not load host key: /etc/ssh/ssh_host_key Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_dsa_key Disabling protocol version 1. Could not load host key Disabling protocol version 2. Could not load host key sshd: no hostkeys available -- exiting. ---------- のようなエラーメッセージが出て、起動できません。  因みに、/etc/ssh/には -rw------- 1 root wheel 736 Oct 5 22:48 ssh_host_dsa_key -rw------- 1 root wheel 525 Oct 5 22:47 ssh_host_key -rw------- 1 root wheel 951 Oct 5 22:48 ssh_host_rsa_key のファイルがちゃんどあります。

  • openssh に ログインできない

    windows2008 server で ssh を使いたいために、 cygwin をインストールしました。 私のパソコンからは、何の問題もなく接続できるのですが、 一部のパソコンではパスワード要求の画面が表示されません。 いろいろ調べていくうち、 > telnet server 22 としたところ、 私のパソコンでは、  SSH-2.0-OpenSSH と、表示を返しますが、 接続できないパソコンでは、 何も返しません。 wireshark でパケットを調べましたら、 接続できないパソコンは、 SYN+ACK で接続した後、 FIN パケットを返しています。 サーバー側の問題か、クライアント側の問題か、 切り分けができていません。 何か想定できる原因を教えていただけませんでしょうか。

  • RedHatでDSA公開鍵認証ができません。。

    RedHatEL4.0で下記手順で公開鍵を置いても ServerAからServerBへのログインが、 パスワード認証となってしまいます(><) 1.ServerA,ServerBで、 同じ名前のユーザーを作りパスワードを設定しました。 2.ServerAでの作業 #ssh-keygen -t dsa #scp id_dsa.pub hoge@serverB:/home/hoge/.ssh/authorized_keys #ssh hoge@ServerB #known_hostに関してのプロンプトに、yesで答える ここで、公開鍵をServerBに設置したので、 パスワードなしでログイン完了!と期待していたのですが、 hogeユーザーのパスワード入力が聞かれてしまいます。。 原因は何でしょうか? 又、公開鍵認証でパスワードなしでログインするには、 同一ユーザー同一グループである必要があるのでしょうか?