• ベストアンサー
  • すぐに回答を!

複数人に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をどうすべきかわかりません) よろしくお願い申し上げます。

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

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

  • ベストアンサー
  • 回答No.1
  • Wr5
  • ベストアンサー率53% (2177/4070)

>というのを、その人数分行わないとできないでしょうか?あるいはそうすべきでしょうか? 管理の都合上は別々にするべき…かと思いますけどね。 誰かが秘密鍵とパスフレーズを漏らしてしまった場合に公開鍵を無効にしたり…とかが、個別であれば対処が楽になるでしょう。 # 3人が同じ秘密鍵使っていて…誰から流出した時に他の2人に安全に別の秘密鍵を渡せるか?とかもあるでしょうし。 >今、/root/.ssh/authorized_keysを /home/miya/.ssh/autauthorized_keysにコピーして、rootのとき成功した秘密鍵で、 >miyaアカウントでSSHログインしようとしてもだめでした。 authorized_keysのオーナーは誰になっていのか? とか、 /home/miya/.sshと/home/miya/.ssh/authorized_keysのパーミッションは? とか、 ログになんか記録されていないか? とか…いろいろありますけど。 >(ただ、パーミッションやユーザownerをどうすべきかわかりません) /home/miya/.sshは600、authorized_keysのオーナーとグループはユーザーmiyaのもの。 でしょうかね。 # authorized_keysのパーミッションも600にする必要がある場合もありますけど。 rootのままだったとしたら読み込み出来なかったでしょうから、それなりのログが残っていませんか?

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

関連するQ&A

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

  • 玄箱debian化したものでsshで秘密鍵を認識しない

    こんにちは、santa51@愛知です 玄箱proをdebian化して サーバーを作っている初心者です。 sshに取りかかっているのですが、 上手くいきません。 $ssh-keygen -t rsa で鍵を適切に作成して $cd .ssh $cp id_rsa.pub authorized_keys $chmod 600 authorized_keys とし、 id_rsaをwindows側に持ってきて tera term4.6で 適切に入力項目を設定して 秘密鍵をさっき持ってきたものを 設定してokを押すと 「認証に失敗しました。再試行してください」 と蹴られます。 手順については、hpを参考にして 行いました。 どなたか、教えていただけませんでしょうか?

  • 外出先ホストからでも容易に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通信で秘密鍵の読み込みが失敗

    ●質問の主旨 クライアントコンピューターとサーバー間で SSH通信を行いたいと考えています。 公開鍵暗号方式でSSHサーバーに対して、 クライアントコンピュータからリモート接続を行おうとして クライアントのTeraTermを使って秘密鍵でアクセスしようとしたところ、 「SSH2秘密鍵の読み込みに失敗しました」という添付画像のような メッセージが出ます。 このメッセージ出されることなく、クライアント~サーバー間で SSH通信を行うためには、どこをチェックすればよいでしょうか? ご存知の方がいらっしゃいましたら、ご教示願います。 ●質問の補足 現在の状況は以下の通りです。 1.クライアントのTeraTermで秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成 2.秘密鍵(id_rsa)はクライアントのCドライブのRSAという任意の名前のフォルダに保存 3. 公開鍵(id_rsa.pub)はSFTPでサーバーの一般ユーザのホームディレクトリに転送 4. 一般ユーザのホームディレクトリ配下に/.ssh/authorized_keysディレクトリを追加 (cat id_rsa.pub > /home/user/.ssh/authorized_keys) 5.chmodコマンドで.ssh及び.ssh/authorized_keysのアクセス権を変更 6.cat authorized_keysで中身を見ると、 公開鍵(id_rsa.pub)の文字の羅列が並んでいる ●環境 上記で言う、クライアントコンピュータはWindows8を使用しています SSHサーバーは、CentOS6.0をディストリビューションとするLinuxを使用しています

  • SSHの設定

    こんばんは。 ServerA ClientB 上記2台のマシンにSSH通信を設定したいと思います。 両方ともOSはRedhat EnerPrise Linux4です。 ClientBの作業: # ssh-keygen -t rsa # scp ~/.ssh/id_rsa.pub root@ServerA ⇒公開鍵をServerAにコピー ServerAの作業: # cd .ssh # touch authorized_key # chmod 600 authorized_keys # cat ~/id_rsa.pub >> authorized_keys 上記はrootユーザですが、仮に「oracle」など別のOSユーザで通信を する場合、ClientBとServerAの両方にOSユーザとして、 「oracle」を作成しておく必要はあるのでしょうか?。 アドバイスお願いします。

  • sshについて

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

  • 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の公開鍵暗号方式について

    今linuxのfedora3でsshのログインをパスワードではなくて公開鍵に変更しようとしています。 rootでssh-keygenによって鍵を作り、rootの/root/.ssh/authorized_keysに鍵を登録すると上手くいき公開鍵暗号方式でのログインができるようになりました。 しかし、rootでないtestというユーザで鍵を作り、/root/.ssh/authorized_keysに鍵を登録してもtestは公開鍵によるログインにならずパスワードによるログインのままでした。試しに/home/test/.ssh/authorized_keysを作って鍵を登録してみたのですが、変化なしです。どこが悪いのでしょう?root以外での公開鍵暗号方式が上手くいきません。 長くなってすみませんが、誰か教えてくれませんか?

  • 鍵交換方式のsshでアクセスするための設定について

    鍵交換方式のsshでアクセスするために、puttygen.exeというプログラムを使用して、秘密鍵と公開鍵を作成しました。 公開鍵はOpenSSHでは使用できないので、Linuxでssh-keygenコマンドを使用して使用可能な形式に変換しました。 それを$HOME/.ssh/authorized_keysというファイルに追加するため、 cat putty.pub >> $HOME/.ssh/authorized_keys を実行したところ、 -bash: cd: /home/.ssh: そのようなファイルやディレクトリはありません とでてしまいました。 root からとユーザログイン状態で、cd /home とし、ls -a としましたが、.ssh というディレクトリはないようです。 /home/.ssh/authorized_keys というファイルがあるはずなんですよね。。 どなたか教えて下さい。

  • SSHアクセスが出来ない

    Ubuntuにsshを入れて、公開鍵認証でwindowsからリモートアクセスしようとしましたができません。 Ubuntu側手順としては、 1. sudo ssh-keygen -t rsaで、パスフレーズ設定 2. sudo mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keysで公開鍵設定 3. sudo mv /root/.ssh/id_rsa /media/usbでUSBメモリに秘密鍵をコピー そしてwindows側は、TeraTermを使って、 ユーザ名、パスフレーズ(上記で設定したもの)、秘密鍵(USBメモリのid_rsaファイルを指定)を設定してログイン(SSH2) といった、通常の操作をしております。パスワード認証にすると問題なくできましたので、ネットワークの問題ではなさそうです。 なお、ubuntu側で事前にやった事としては、 /etc/.ssh/sshd_configファイルのPermitRootLoginをyes->noに変更、PasswordAutheticationをyes->noに変更のみです。設定後にSSHサーバを再起動させています。 詳しい方がいましたら、よろしくお願い致します。