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

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ユーザーのパスワード入力が聞かれてしまいます。。 原因は何でしょうか? 又、公開鍵認証でパスワードなしでログインするには、 同一ユーザー同一グループである必要があるのでしょうか?

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

  • 回答数1
  • 閲覧数262
  • ありがとう数1

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

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

こんにちは。 公開鍵名(+α:permission)の問題かと思います。 「id_dsa.pub」は version2 なので公開鍵名は「authorized_keys2」です。 hoge> scp id_dsa.pub serverB:/home/hoge/.ssh/authorized_keys2 ついでに permission は一例として以下のようにします。 drwx------ 2 hoge hoge 4096 Aug 11 2006 .ssh -rw------- 1 hoge hoge 603 Aug 11 2006 .ssh/authorized_keys2 これでいけるかと思います。 hoge> ssh ServerB 因みにご質問本文にあった下記ラインの引数は scp の構文です。 #ssh hoge@ServerB この場合、hoge 以外のユーザが実行するにはこうなります。 another> ssh -l hoge ServerB

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

質問者からのお礼

回答通りauthorized_keysの権限を600にすることで 公開鍵認証できました。ありがとうございます。 ファイル名は、authorized_keysのままでOKでした。 authorized_keys2という名前は結構出回っていますが、 ガセネタなのか真実は以前から謎で ダメな時は両方試しています(^^;)

関連するQ&A

  • 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 です。

  • 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以外の名前で鍵を作成したときはどうなのでしょうか?(やはりサーバでの設定が必要?) そもそも鍵を作成する仕組みや鍵を管理している仕組みがわかっていれば簡単な問題かもしれませんが、どなたか教えてください。 こちらでは安易にテストする環境がないため、宜しくお願いします。

  • SSH公開鍵認証はパスワードを変更すると認証できなくなりますか?

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

  • 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)で登録したパスフレーズを入力しないとログインできないようになっているが、 このログイン画面に書かれてるのがパスフレーズではなくパスワードとなっているのが気がかりです(パスフレーズとして認識されていない?) これはちゃんと公開鍵認証ができるようになっているのでしょうか。また、ログイン時に入力した文字列はパスワードではなくパスフレーズとして登録されているのでしょうか。 目標が達成できていなければ、問題点および解決策を教えてくださいますようお願いします。

  • sftpで、 公開鍵を指定できますか?

    sftpで、パスワードなしで他のサーバに接続したいのですが、 ssh の -iオプション(-i .ssh/id_dsa_pub)と同様に sftpでも公開鍵を指定する方法はありますでしょうか? 同じユーザー名だと、公開鍵を指定せず、 パスワードなしで接続できるのですが、 転送元と転送先でユーザー名が違う場合、公開鍵を 指定しないと接続できず困っています。

  • 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の仕様で、公開鍵が数日で変更されるのでしょうか? 上記について、アドバイスや問題点があればご教示いただければ幸いです。

  • RSA公開鍵によるクライアント認証について

    teratermなどでRSAの公開鍵を使ってクライアント認証ができますが、これはパスワード認証のように総当たり攻撃を食らうことがないので、セキュリティー的に安全だと聞きました。 そこで思ったのですが、RSAの公開鍵を使ったクライアント認証をする場合は、パスワード認証はできないように設定しないとまずいですよね?そうしないと結局総当たり攻撃を食らってしまいますよね? 周りの人はパスワード認証もRSAの公開鍵による認証もできる状態で、後者を使っているのですが、これは意味がないように思えるのですが。。。。

  • 公開鍵の管理

    現在,sshサーバを管理しているのですが, ユーザそれぞれの公開鍵を/home/user_name/.ssh/authorized_keysに保存しています. ユーザが秘密鍵をなくしてしまったりした場合にかってに対応する公開鍵を交換されたくないので, どこかのディレクトリで一括に管理したいのですが,可能でしょうか? よろしくお願いします.

  • 公開鍵と秘密鍵

    サーバ側で ssh-keygen -t rsa と入力すると,公開鍵と秘密鍵が生成されますが どうしてクライアント側に秘密鍵をもたせるのでしょうか? 逆でも通信できる気がします. あと,サーバ1台に対して,クライアントが複数いる場合に 公開鍵と秘密鍵のペアはクライアントの人数分生成するのが適切なのでしょうか? (複数のサーバに1台のクライアントが接続する場合も,各サーバが1台のクライアントに対して公開鍵・秘密鍵を生成するのが適切なのでしょうか?) よろしくおねがいします.

  • 複数人にSSHの秘密鍵と公開鍵を設定

    VPSを借りてまして、CentOS6.2です。 fooユーザとbarユーザとhogeユーザに、SSHの秘密鍵と公開鍵を設定するにはどうすれば可能(あるいはすべき)なのでしょうか? ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/sorai/.ssh/id_rsa): // ファイル作成場所 Enter passphrase (empty for no passphrase): // パスフレーズを入力する Enter same passphrase again: // パスフレーズをもう一度入力する というのを、その人数分行わないとできないでしょうか?あるいはそうすべきでしょうか? 今、/root/.ssh/authorized_keysを /home/miya/.ssh/autauthorized_keysにコピーして、rootのとき成功した秘密鍵で、 miyaアカウントでSSHログインしようとしてもだめでした。 (ただ、パーミッションやユーザownerをどうすべきかわかりません) よろしくお願い申し上げます。