• ベストアンサー

ssh鍵認証

Aサーバーでsshで秘密鍵と公開鍵をを作成し、公開鍵のみをBサーバーへ置きました。 AサーバーからBサーバーへノンパスでログインはできたのですが、 BサーバーからAサーバーへのノンパスでのログインはできません。 (パスワードが聞かれてしまう) BサーバーからAサーバーへノンパスログイン(鍵認証)するにはどのようにすればよろしいでしょうか? ご存知の方、宜しくお願いします。

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

  • ベストアンサー
  • cynthia4
  • ベストアンサー率51% (186/358)
回答No.2

気のせいでは、 認証方法 まあ詳しい。 http://www.ibm.com/developerworks/jp/linux/library/l-keyc/index.html

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

同じように暗号鍵のセットを作成してBサーバに秘密鍵・Aサーバに公開鍵を置けばいいのでは。

nikogoo
質問者

補足

そーなんですけど。。 Bサーバー(公開鍵)からはAサーバー(秘密鍵)にログインできる仕様にはなっていないのかどうかを知りたかったのです。 たしかできたような気がしたのですが。。

関連するQ&A

  • SSHでのパスワード認証方式について

    SSHでパスワード認証方式を採用している場合、そのサーバーへアクセスするとパスワードがきかれ、合致したばあいログインができると思います。しかし、中にはログインできない、公開鍵を使用しなければならないサーバーがあるようです。 そのように公開鍵を作成する方式のみにするにはどのような設定が必要となりますでしょうか? また、自分の認識に間違いはないでしょうか? ご存知の方、宜しくお願いします。

  • 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公開鍵認証はパスワードを変更すると認証できなくなりますか?

    SSH公開鍵で、認証できていたのですが、 ログイン先のパスワードを変更すると認証できなくなりました。 これはSSHの仕様でしょうか? 又、nologinではなく、ユーザー作成時にパスワード未設定とし、 パスワードではログインできない状態に戻したいのですが 一度パスワードを設定してしまうと不可能でしょうか?

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

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

  • SSHでの公開鍵認証接続時のログイン画面

    CentOSクライアントからのCentOSサーバへ公開鍵認証によるSSH接続をしたいと思っています。公開鍵認証なのでパスワードではなくパスフレーズでの認証ができるようにしたいです。 しかし、設定操作を一通りやってクライアントからサーバへログインしようとすると添付画像のとおり「パスワード」と書かれたログイン画面が出てきます。 一応パスフレーズとして設定した文字列を入力しないとログインできないようにはなってるのですが、これはちゃんと公開鍵認証ができるようになっているのでしょうか。また、ログイン時に入力した文字列はパスワードではなくパスフレーズとして登録されているのでしょうか。 以下、環境/前提条件および操作手順の詳細です。 ■環境/前提条件 ・OSは両方ともCentOS6.5 ・OpenSSHのバージョンは両方とも5.3 ・仮にサーバ側のホスト名をtestserver、その中にあるユーザー名をtest1とする ■操作手順 (1)クライアント側でssh-keygenでid_rsaとid_rsa.pubをローカルに作成し、パスフレーズを登録。 (2)サーバ側で  .ssh/authorized_keysを作成し、   chmod 700 .ssh  chmod 600 .ssh/authorized_keys  を実行 (3)クライアント側で以下のコマンドを打ち公開鍵ファイルをサーバへ転送  cat .ssh/id_rsa.pub |ssh test1@testserver 'cat >>  .ssh/authorized_keys' (4)両マシーン共再起動させた後、クライアントからサーバへ   ssh test1@testserver  でログインしようとしたら添付画像が出てきた。 パスワード欄にはtest1@testserverのパスワードではなく、(1)で登録したパスフレーズを入力しないとログインできないようになっているが、 このログイン画面に書かれてるのがパスフレーズではなくパスワードとなっているのが気がかりです(パスフレーズとして認識されていない?) これはちゃんと公開鍵認証ができるようになっているのでしょうか。また、ログイン時に入力した文字列はパスワードではなくパスフレーズとして登録されているのでしょうか。 目標が達成できていなければ、問題点および解決策を教えてくださいますようお願いします。

  • SSHの公開鍵方式の接続について

     SSHの公開鍵(&秘密鍵)の認証での接続について質問です。  現在、Mac OSXのターミナルからLinuxのFC5サーバーに接続しようとしているのですが、うまく接続できません。  FC5側のSSHサーバーはすでに起動しているのですが、最初のホスト認証で躓いています。最初のアクセスの歳にSSHサーバー側から認証鍵を渡されるのですが、その時点で謝ってnoを選択してしまいました。以後、公開鍵が使えない状態になってしまい、接続しても「Permission denied (publickey,gssapi-with-mic).」になってしまいます。最初の接続時の公開鍵を再発行してもらうにはどうしたらよいのでしょうか?  ホスト認証の後は、ユーザー認証となると思いますが、この設定もちょっとよくわからない部分があります。  サーバー側で公開鍵と秘密鍵のセットをssh-kegenで作りますが、MacのOSXのターミナルから接続する場合は、この秘密鍵をどこに保存すればようのでしょうか?また保存後にこの秘密鍵を呼び出すにはどうしたらようでしょうか?  OSXも基本的にはUNIXなので、ホームディレクトリに.sshディレクトリなどを作成して保存するのでしょうか?    詳細な設定方法を教えて頂けると幸いです。

  • sftp時の公開鍵認証

    windowsサーバにSFTPサーバを構築し、公開鍵での認証をかけ、SFTPでファイルやり取りを行いたいのですが、 ファイルやり取りはできるのですが、公開鍵での認証がうまくいきません。 色々なサイトを調べながら以下手順で構築していったのですが、 公開鍵、秘密鍵での認証がうまくいってないように見えます。 なんでもいいので、何か分かる方いましたらご教授お願いします。 ※クライアントPC、サーバともにwindows ◆秘密鍵、公開鍵ファイルの作成(クライアントPC) 1.クライアントPCにSFTP接続ソフト「WinSCP」をインストール 2.「WinSCP」の補助ツール「PuTTYgen」により、秘密鍵ファイル、公開鍵ファイルを作成 3.作成した公開鍵ファイルをサーバへコピー ◆SFTPサーバ構築、公開鍵認証設定(サーバ) 4.サーバにSFTP環境構築ソフト「freeFTPd」をインストール 5.SFTPの接続先(アドレス、ポート22)を設定 6.ユーザー(ID、パスワード)を作成。そのユーザーのSFTP時ホームディレクトリを設定 7.SFTPのサービスを開始 8.6で設定したホームディレクトリの直下に「.ssh」ディレクトリ作成 9.「.ssh」ディレクトリの直下に「authorized_keys」ファイルを作成 10.3でコピーした公開鍵ファイルの中身を、「authorized_keys」ファイルに追加(テキストベースでのコピペ) ◆サーバへのSFTP接続(クライアントPC) 11.クライアントPCで「WinSCP」を起動。SFTPサーバのIP、6で設定したユーザーのID、2で作成した秘密鍵を設定しログイン 12.「Further authentication required Authenticating with public key "dsa-key-20140512" Access denied.」 と表示され、ログインできない 13.秘密鍵を使わず6で設定したユーザーIDとパスワードであれば、ログイン可能。SFTPサーバとのファイルのやり取りも可能 また、「.ssh」ディレクトリと「authorized_keys」ファイルに書き込み権限があるユーザーの場合に、認証が失敗するという情報があったので、 クライアントPCに書き込み権限を持っていないユーザーでログインし、WinSCPを起動してアクセスしてみたのですが、同じ結果でした。

  • SSHって・・?

    Linux勉強中で疑問に思っている点があります。 SSHを利用すると、暗号化を行うことができるということですが・・・・教えて下さい。たとえば・・・ 例:Aはサーバーで秘密鍵を保持、Bはクライアントで   公開鍵を保持。 B(クライアント/公開鍵)→A(サーバー/秘密鍵) 公開鍵を使ってサーバーAにデータを送信後、 サーバー側では、秘密鍵を使ってデータを解読。 A(サーバー/秘密鍵)→B(クライアント/公開鍵) この場合は、データはどう暗号化されているのでしょうか?秘密鍵でデータを暗号をすると、公開鍵を持ってる人達には解読できてしまうのですよね? "ls"コマンドで叩いた機密情報が仮にA→Bに結果が返ってくる場合は、暗号化されないのでしょうか? SSHを使ってFTPをする場合も同様のことはいえないのでしょうか?? Webで情報を集めて、公開鍵と秘密鍵の事に関しては 調べてみたつもりなのですが・・・ 申し訳ありませんが、ご教授下さい。 よろしくお願い致します。

  • sshの公開鍵認証の基本的な仕組みについて

    ネットワークセキュリティの初心者です。教えてください。 sshの認証を使用して、サーバのファイルをクライアントにコピーしようとしています。 こちらで行った手順は以下のとおりです。(クラサバ共にSolaris) クライアントにて:  ・ssh-keygen -t rsa で秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成。  ・scp id_rsa.pub hoge@192.168.10.10:/tmp でサーバに転送  (パスワードを入力すれば転送できた) サーバにて  ・cat /tmp/id_rsa.pub >> ~/.ssh/authorizedkeys で設定 上記にて、クライアントから scp testfile hoge@192.168.10.10:/tmpをしたところ、パスワード入力なしで無事転送することができました。 ここまではOKなのですが(前置き長くてすみません) この状態で、クライアントにて再度 ssh-keygenを実行してしまうと、またサーバのauthorizedkeysを設定しなおさなければならないのでしょうか? また、クライアントでのssh-keygen実行時に、id_rsa以外の名前で鍵を作成したときはどうなのでしょうか?(やはりサーバでの設定が必要?) そもそも鍵を作成する仕組みや鍵を管理している仕組みがわかっていれば簡単な問題かもしれませんが、どなたか教えてください。 こちらでは安易にテストする環境がないため、宜しくお願いします。

  • CentOSでSSH公開鍵認証ができません。ログの場所はどこでしょうか?

    puttyからCentOS4.1のサーバーへ公開鍵認証による SSH接続ができません。 http://nekhet.ddo.jp/item/771 の通り設定したのですが・・ サーバーの/home/test/.ssh/authorized_keys にputtyで作成した公開鍵をちゃんと登録しています。 しかし、SSHでログインIDを入力すると、 login as: test Authenticating with public key "XXXXXXXXXX" とならず、ログインIDを入力した時点でputtyが 落ちてしまいます。原因を調べたいのですが ログのありかはどこでしょうか?