• ベストアンサー

ssh_known_hosts について

SSH接続において初回接続時は登録されていないホストからの接続というメッセージが表示され、そのホストの情報が、ssh_known_hostsに登録されますが、 ある資料では、v1ではそこに登録され、v2ではssh_known_hosts2に登録されると書かれており、 ある資料では、RSA鍵がssh_known_hostsに、 DSA鍵がssh_known_hosts2に格納されると書かれています。 本当のところはどちらが正しいのでしょうか? 教えてください。

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

  • ベストアンサー
回答No.1

前者が正しいようです。 ただし、参考URLの15.3.4節をみてもわかるように、最新のOpenSSHでは*2というファイルを使わなくなりました。 http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-openssh-client-config.html

参考URL:
http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-openssh-client-config.html
taiman9672
質問者

お礼

なるほどそうですか。 LPIの試験対策をしながら問題集を解いていたら、 疑問に思ったものですから。 これですっきりしました。 ありがとうございました。

関連するQ&A

  • SSH DSA RSA 鍵の違いについて

    いつも参考にさせていただいてます。 今SSHで使えるRSA1、RSA、DSA鍵の違いについて調べております。 RSA1はSSH1で使える鍵で RSA、DSAはSSH2で使える鍵と理解しておりますが RSA1・RSA・DSAでの違いって何なんでしょうか。 #RSA1・RSAで違いはないと思いますが、念のため・・・ また、上記三種の鍵のメリット・デメリットを教えていただければ大変 助かります。 よろしくお願いします。

  • SSHの公開鍵について

    お世話になっております。 現在3台のサーバA,B,Cがあり、AのサーバからB,Cにパスワードなしでログインできるようにするため、 AのサーバでSSHの公開鍵と秘密鍵を作成しました。(パスフレーズはnull) 具体的な手順は以下になります。 ------------------------------------------------------------------------------------------- 1. Aサーバにて公開鍵と秘密鍵を作成 A # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (//.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in //.ssh/id_rsa. Your public key has been saved in //.ssh/id_rsa.pub. The key fingerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@A 2. 秘密鍵、公開鍵が作成されていることを確認 A # ls ~/.ssh id_rsa id_rsa.pub known_hosts 3. 公開鍵をBとCサーバへ配信 A # scp ~/.ssh/id_rsa.pub root@B:/tmp Password: id_rsa.pub 100% |***************************************| 223 00:00 4. BとCサーバ側で公開鍵の登録 B # cat /tmp/id_rsa.pub > ~/.ssh/authorized_keys ------------------------------------------------------------------------------------------- 登録後、AサーバからB,CサーバにSSHで接続してみたのですが、一見パスワードなしでログインできているようでした。 ただ、何故か B,Cサーバや無関係なDサーバからもAサーバへパスワードなしでアクセスできてしまいます。 公開鍵を登録したのはB,Cサーバのみで、B,CサーバからAサーバに対してパスワードなしでアクセスできないはずという認識です。 更に、数日後AサーバからB,Cサーバに接続を試みたところ、以下のメッセージが出力されました。 ------------------------------------------------------------------------------------------- ホスト 'B (1.1.1.1)' の認証を確立できません. RSA 鍵フィンガープリントは xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx です 本当に接続を継続してもよろしいですか (yes/no)? ------------------------------------------------------------------------------------------- 公開鍵はBサーバ初回接続時にknown_hostsへ登録済みで、Bサーバ側のIPアドレスの変更なども実施していません。 SSHの仕様で、公開鍵が数日で変更されるのでしょうか? 上記について、アドバイスや問題点があればご教示いただければ幸いです。

  • SSHのホスト認証について

    現在VineLinux3.2を使ってサーバの勉強をしている、ド素人です。 SSHのユーザ認証が、 (1)サーバ側で乱数生成→クライアントの公開鍵で暗号化→ (2)クライアントに送信→ (3)クライアントが受信→ (4)秘密鍵で複合化→サーバに送信→ (5)サーバはクライアントから送られた乱数を確認して認証 という流れで、なるほど、これでユーザを認証できるってのは分かるのですが、 ホスト認証がよくわかりません、 SSHでサーバにアクセスすると、 サーバの公開鍵が ~/.ssh/knows_hosts に登録されますが、 この公開鍵を使って、ユーザ認証と同じ方法で接続先ホストを認証してるのでしょうか? そうだとしたら、 2度目のアクセスからはホストを認証するのに、 この~/.ssh/known_hostsの 公開鍵を使った方法が有効だというのは分かりますが、 一番最初のアクセスではこの公開鍵を使ってもホストの認証は出来ないと思うのですが(接続先から送られてくる公開鍵を使うだけなので) どういう仕組みになってるのでしょうか? よろしくおねがいします。

  • ssh の仕組み

    ssh の仕組みについて、よくわからない事があるので、よろしくお願いします。 (サーバの設定) ・/etc/ssh/sshd_config ファイルの編集をして、ルート権限ログインできないようにする。 ・デーモンを起動する。 (クライアントの設定) 1#ssh-keygen -t rsa 2#mv id_rsa.pub authorized_keys2 3#ssh hoge@192.168.x.x 4#rsa を入力 5#known_hostに関してのプロンプトに、yesで答える 6#パスワードを入力 上記の手順を踏んだとき、 まず、 (質問1:) 4のrsaを入力というのは、 相手側に自分の公開鍵を渡すと言う事でいいのでしょうか?? (質問2) これで、ログインした場合、サーバはその公開鍵を使って、暗号化→クライアントはそれを自分の秘密鍵(id_rsa)により、復号化。という解釈でいいのでしょうか? (質問3) 質問2の場合、クライアントから、サーバに送信するメッセージは暗号化されていないのでしょうか? (質問4) /etc/ssh/sshd_configの設定で、RSAAuthorized no にしてしまったら、 暗号化されないで、平分で、データが流れてしまうのでしょうか? (質問5) 結局のところ、SSHというものは、ユーザのパスワードを知っていたら、簡単に侵入ができるようなものなのでしょうか? (質問6) 上記の手順自体が全く間違っているのでしょうか? (質問7) ~/.ssh/known_hosts の中に入っているデータはいったいなんなんでしょうか??(相手の公開鍵??) /* 長くなりましたが、答えれる部分でいいので、よろしければお答えいただけないでしょうか。どうか、よろしくお願いします。

  • SSHの設定について

    初めて質問をいたします。 LinuxでSSHサーバをたてようと思っております。 sshdはapt-getにてインストールを行い、インストールしたマシンから、 ssh localhost で接続をしようとした際、下記エラーメッセージが表示されて 接続できませんでした。 何が原因でしょうか??? ほかに必要な情報がありましたら連絡をください。 Warning: Permanently added 'localhost' (RSA) to the list of known hosts. Write failed: Broken pipe OS :ubuntu 7.10

  • SSHのパスワード無し認証、dsa 方式だけ?

    職場の Solaris サーバにSSHのパスワード無し認証(公開鍵暗号方式)をしようと頑張ったのですがなかなかうまく行かず、結局、6時間くらい頑張って  「 DSA 方式しか使えない 」 ということが分かりました。 RSA1 や RSA でも、単にパスフレーズでログインできないだけで、特にエラーメッセージも出なかったので、なかなか気づきませんでした。 質問ですが、、、 あるサーバの公開鍵暗号方式が、RSA1 か RSA か DSA かを判別する方法はないでしょうか?

  • SSH2における鍵の種類RSAとDSAについて

     SSH2認証用の鍵を生成するときに、鍵の種類として、RSAとDSAが一般的に選択できるかと思います。 鍵の種類を選択するときに、インターネットでそれらの違いを調べると、「RSAはユーザ認証と通信の暗号化をカバーするが、DSAはユーザ認証しかカバーしない」というように紹介していることがあります。  そこで疑問に思ったのですが、SSH2では通信の暗号化はDiffie-Hellman方式で行われているはずなので、認証用の鍵の種類で暗号化をカバーしているかどうかは、通信の暗号化に影響しないのではないでしょうか。  つまり、認証用の鍵が暗号化をサポート(実装)していても、実際にSSHで使われることはなく、DSAを選択すると、まるでSSHで通信しているときに暗号化が行われないような書き方は間違っているのではないかと思います。  また、RSAとDSAの暗号化強度が同等であると仮定すると、SSHでの利用時の差異は処理スピードのみでしょうか。  非常に気になったので、質問させていただきました。  ご存知の方、よろしくお願いいたします。

  • LDAPサーバのSSH認証でログインできない

    現在1台のマシン上にZone環境を用いてLDAPサーバ、クライアントを構築し、サーバ上(グローバルゾーン)からクライアントへ(ローカルゾーン)へSSHログイン認証をLDAPで行わせようとしています。 設定に関しては下記サイトに従っています。 http://blogs.sun.com/funasaki/entry/directory_server_setup 最終確認のSSHのLDAPログイン認証にてインスタンスの起動に関わらず以下のメッセージが出力されログインできません。 --------------------------------------------------------------- # ssh -l testuser zone1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 警告: リモートホストの識別情報が変更されました! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ だれかが悪意のある操作を行なっている可能性があります! 現在、そのだれかから盗聴されている可能性があります (man-in-the-middle attack)! また、RSA ホストキーが変更された可能性もあります。 リモートホストから送信されてきた RSA 鍵のフィンガープリントは、 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx です。 システム管理者に連絡してください。このメッセージを削除するには、正しいホストキーを /.ssh/known_hosts 内に追加してください。 /.ssh/known_hosts 内の問題の鍵:1 zone1 の RSA ホストキーが変更され、厳密な検査が要求されました。 ホストキーの検証に失敗しました。 --------------------------------------------------------------- 尚作業は以下の環境にて行っています。 Solaris10 SPARC 64bit SunDirectoryServer6.2 Sun_SSH_1.1、SSH プロトコル 1.5/2.0、OpenSSL 0x0090704f 解決方法・対応をご存知の方ご教授願います。 宜しくお願い致します。

  • 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に追加する。 以上です。

  • known_hostsを削除してもエラー「Host key verification failed.」が

    vine3.1 (192.168.1.2) | (192.168.1.1) Redhat9 (192.168.0.1) | (192.168.0.89) としています。 [user01@vine3.1]# ssh -l user01 127.0.0.1 や [user01@Win2k]# ssh -l user01 192.168.1.2 や [user01@RedHat9]# ssh -l user01 192.168.0.89 としてアクセス出来ましたがRedHat9からは [user01@Redhat9]# ssh -l user01 192.168.1.2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is a6:cf:71:5d:ad:47:b7:07:9b:06:b1:9e:cb:48:44:73. Please contact your system administrator. Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message. Offending key in /etc/ssh/ssh_known_hosts:1 RSA host key for 192.168.1.2 has changed and you have requested strict checking. Host key verification failed. となってしまいます。 RedHat9の/home/user01/.ssh/known_hostsを削除してみましたが 同様のエラーが表示されます。 どうすればRedHat9からvine3.1にアクセス出来るようになるのでしょうか? (一応、ファイアウォールはスルーにしています)