• ベストアンサー

SSHにログインする際、公開暗号鍵方式にするにはどうしたらよいでしょうか

わたしはSSHクライアントにPuTTYを使っています。 よろしくお願いします。

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

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

こんばんわぁ、Blackwinglsです。 > Server refused our key とのことですが、~/.ssh/authority_keys のアクセス権は600に設定されてますか? No5を見直していたら私の方で間違っていました。(^-^; user@debian:~/ chmod 600 /root/.ssh/authorized_keys //パーミッション設定 は user@debian:~/ chmod 600 authorized_keys //パーミッション設定 が正解です。 あと ~/.ssh のアクセス権はどうなっていますでしょうか? 自動生成ならタブン問題ないと思いますが、ご自分で作ったならアクセス権の確認。 700になっていないといけませんよ。 ここまで確認しても上手くいかない時は、PuTTYgen をもう一度やってみる。 generated key が、1024bit 以外も試してみる。例えば、768bit とか・・ それでもダメな時は、rootアカウントが使えるんであれば、テストユーザーを作成してNo5、No6の手順でもう一度最初からやってみる。 思いつくのはこんなところでしょうか・・・・・ タブン、アクセス権あたりが怪しいとは思うのですが、ダメな時はディストリビューション名、OpenSSHのバージョン、Puttyのバージョン、パッチ状況、PuTTYgen のバージョン等を補足願います。 ではでは~☆ミ ps 上手くいったら、パスワードログインを無効に設定しないと意味なしです(^-^;

SariGEnNu
質問者

お礼

ありがとうございます。 本当にお世話になっております。 色々ばたばたしていて、まとまった結果を報告するのに返事が遅れてしまいそうなので先にお礼を申し上げます。 私の状況は デストリビューションFC4 PuTTy,PuTTygenのバージョンは20050503 OpensshはFC4のデフォルトで入っていたものです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

回答No.5

こんばんわぁ、Blackwinglsです。 今試しにPuttyをDLして試してみましたが、上手くいきませんでしたね(^-^; 素のOpenSSHの鍵にPuttyは対応していないのですね。 PuTTYgen を起動して FILE → Load Private key で ファイルの種類を ALL Files を選択して先ほどの、id_rsaを指定してください。 アラートをOKした後、 Save private key をクリック もう一度アラートを はい を選択後、適当な名前をつけて保存 終了して、Puttyの秘密鍵の指定を今作った鍵に変更して接続すると Using username "user". Authenticating with public key "imported-openssh-key" と接続成功です。 ではでは~☆ミ

SariGEnNu
質問者

お礼

ありがとうございます。 大変お世話になっております。m(_ _)m No4,5のようにした結果次のようになってしまいました。 No4のあと Unable to use key file "C:\ssh\putty\id_rsa" (OpenSSH SSH-2 private key) Using username "user". user@192.168.0.2's password: Last login: Mon Feb 13 18:44:45 2006 from 192.168.0.101 [user@localhost ~]$ No5のあと Using username "user". Server refused our key user@192.168.0.2's password: Last login: Mon Feb 13 19:14:43 2006 from 192.168.0.101 [user@localhost ~]$ 結局パスワードを求められるので上手くいっていないと思い、頭がややこしくなってしまいました。(^^;) 最初から整理してみたいと思います。それから私はNo4で生成したid_rsaはMS-DOSを使わずにWinCPを使いました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

こんばんわぁ、Blackwinglsです。 てっきりスペルミスでもしたのかな?と思ってましたが違うようですね。 何処かで手順を間違えてしまったのでしょうか? 私の環境で公開鍵を作ってみましたので手順を参考にしてみてください。 今回はサーバー側で生成しています。 user@debian:/home$ whoami //生成したいユーザーでログインしているか確認する user //アカウントuserでログインを確認 user@debian:~$ cd .ssh //.sshの有無を確認 bash: cd: .ssh: No such file or directory //.ssh存在せず user@debian:~$ ssh-keygen -t rsa //ssh-keygenを使ってrsaタイプの公開鍵秘密鍵を生成 Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Created directory '/home/user/.ssh'. //.sshディレクトリが自動で作成されます Enter passphrase (empty for no passphrase): //何も入れずにエンター Enter same passphrase again: //何も入れずにエンター Your identification has been saved in /home/user/.ssh/id_rsa. //秘密鍵が生成 Your public key has been saved in /home/user/.ssh/id_rsa.pub. //公開鍵が生成 The key fingerprint is: user@debian:~$ cd .ssh //自動生成された.sshに移動 user@debian:~/.ssh$ ls -la //生成された公開鍵秘密鍵を確認する -rw------- 1 user user 887 Feb 12 21:06 id_rsa //rsaタイプの秘密鍵 -rw-r--r-- 1 user user 221 Feb 12 21:06 id_rsa.pub //rsaタイプの公開鍵 user@debian:~/.ssh$ cat id_rsa.pub >> authorized_keys //公開鍵を登録する user@debian:~/.ssh$ ls -la -rw-r--r-- 1 user user 221 Feb 12 21:08 authorized_keys //ファイルが出来てる -rw------- 1 user user 887 Feb 12 21:06 id_rsa -rw-r--r-- 1 user user 221 Feb 12 21:06 id_rsa.pub ここでid_rsaをクライアント側にコピーする。 私はクライアントのDOS窓からFTPでコピーしましたが、セキュリティー的にはお勧めしません。以下DOS窓のコマンド C:\Documents and Settings\Blackwingls>cd my documents //マイドキュメントフォルダに移動 C:\Documents and Settings\Blackwingls\My Documents>ftp debian //deianサーバー(家ではdebianで作ってるのでサーバー名がdebian、ベタだねぇ)にftpでログイン Connected to debian 220 ProFTPD 1.2.5rc1 Server (Debian) [debian] User (debian:(none)): user //userでログイン 331 Password required for user. Password:******** 230 User user logged in. ftp> cd .ssh //.sshディレクトリに移動 250 CWD command successful. ftp> pwd //現在ディレクトリを確認 257 "/.ssh" is current directory. ftp> ls -la //ファイルを確認 200 PORT command successful. 150 Opening ASCII mode data connection for file list. -rw------- 1 1003 user 221 Feb 12 12:08 authorized_keys -rw------- 1 1003 user 887 Feb 12 12:06 id_rsa -rw-r--r-- 1 1003 user 221 Feb 12 12:06 id_rsa.pub 226-Transfer complete. 226 Quotas off ftp: 319 bytes received in 0.00Seconds 319000.00Kbytes/sec. ftp> get id_rsa //秘密鍵をクライアント側にゲットする。 200 PORT command successful. 150 Opening ASCII mode data connection for id_rsa (887 bytes). 226 Transfer complete. ftp: 902 bytes received in 0.00Seconds 902000.00Kbytes/sec. ftp> quit //ftp終了 221 Goodbye. C:\Documents and Settings\Blackwingls\My Documents>dir //マイドキュメントにゲットされたか確認 2006/02/12 21:09 902 id_rsa //ゲットされました C:\Documents and Settings\hro\My Documents>exit //dos窓終了 んで、再びサーバー側へ user@debian:~/.ssh$ rm -r id_rsa //サーバー側には不要なので削除 user@debian:~/.ssh$ rm -r id_rsa.pub //登録済みなので削除 user@debian:~/ chmod 600 /root/.ssh/authorized_keys //パーミッション設定 user@debian:~/.ssh$ ls -la //念のためファイルを確認 -rw------- 1 user user 221 Feb 12 21:08 authorized_keys 後は、クライアントソフトでクライアントマシンにコピーした、id_rsaを指定してあげればOKのはず。 参考urlの ”以上で、公開鍵の設定は終了だ。早速PuTTYでアクセスしてみよう” 以下がそれにあたるが、 ” 左ペインの[認証]をクリックして、[認証のためのプライベートキーファイル]を入力する(ここではputty.PPK)。” のputty.PPKはマイドキュメントにゲットしたid_rsaになるのはOKですよね? 鍵交換方式自体の設定は難しいことじゃぁないので頑張ってください。 ではでは~☆ミ

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

こんばんわぁ、Blackwinglsです。 > これで、秘密鍵が暗号化してログインしたのかよく分りません。 Server refused our key とありますのでダメみたいですね。 > 公開鍵方式を使っても結局PWは入力しないと行けなかったのでしょうか? http://www.atmarkit.co.jp/flinux/rensai/linuxtips/429usekeyssh.html の設定をみるとログインの際にパスワードは入れないといけないようですね。 最近の私は Tera Term Pro を使っているので、Putty がどうなっているのかは???なのですが、上記URLを読んでみると、へぇ~クライアント側で鍵を生成してるんですね。 この方法でやると [user@localhost ~]$ls -la /home/user/.ssh とした時に、 -rw------- 1 user user 600 Nov 1 01:59 authorized_keys ってのが表示されなきぁいけませんが、表示されてますか? 日付は私の環境なので適当で構いませんが、-rw------- の部分と user が正しいかチェックです。 なお、user はログインしたいアカウントに読み替えてくださいね。 チェックに自信がない時は、ls -la /home/user/.ssh の結果をコピーアンドペーストした方が、有識者の回答が付きやすいですよ。 ではでは~☆ミ

SariGEnNu
質問者

お礼

ありがとうございます。 [user621@localhost root]$ ls -la /home/user/.ssh 合計 12 drwxrwxr-x 2 user user 4096 2月 8 21:32 . drwxr-xr-x 4 user user 4096 2月 8 21:30 .. -rw------- 1 user user 418 2月 11 22:26 authorized_keys と表示されました。何か分りますでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

こんばんわぁ、Blackwinglsです。 基本的なことで申し訳ないんですが、ログインしたいアカウントで作業されてますか? あと cd /home/user/.ssh ls -la で、どうなるでしょう? userは当然ログインしたいアカウントに置き換えてください。 ではでは~☆ミ

SariGEnNu
質問者

お礼

ありがとうございます. まだ、試してませんが、もう一度やってみます. 上手く行けばいいと思います. また、補足すると思うのでそのときはよろしくお願いします.ところで、PKIをサーバ・クライアントシステムで利用する場合、双方向通信であることが本質なので、サーバ・クライアント機の双方で鍵を生成する必要があると思うのですが、どうしてクライアント機だけしか生成していないのでしょうか.

SariGEnNu
質問者

補足

ありがとうございます。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/429usekeyssh.html にしたがってやってみました。 $HOMEは/home/user名/ に置き換えてやってみました。 設定をした後、Puttyをopenしてみたら Using username "user名". Server refused our key user@192.168.0.2's password: となりPWを入力してEnterしたらログインできました。 これで、秘密鍵が暗号化してログインしたのかよく分りません。公開鍵方式を使っても結局PWは入力しないと行けなかったのでしょうか?それとよく分らないのですがこの場合,公開鍵方式というより暗号化する鍵も複合化する鍵も秘密にする必要があると思いますが,如何なものでしょうか?だからフロッピーでサーバ機にputty.pubを移していたんだと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • bulustar
  • ベストアンサー率0% (0/1)
回答No.1
SariGEnNu
質問者

お礼

ありがとうございます。 教えていただいたURLにしたがってやっていますが 公開・秘密鍵作成後 [user@localhost ~]$ ssh-keygen -i -f putty_id.pub > putty.pub [user@localhost ~]$ cat putty.pub >> $HOME/.ssh/authorized_keys -bash: /home/user/.ssh/authorized_keys: そのようなファイルやディレクトリはありません となってしまいました。ディレクトリは予め作ったらよいでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 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の公開鍵の使い方

    以前から、WinXPマシンに OpenSSH for Windows をインストし、それを通してリモートデスクトップをしていました。SSHクライアントは、PuTTYです。 SSHには公開鍵を使ってログインを制御すると良いといろいろなサイトで見かけるので、公開鍵を PuTTYgen で作成後に、OpenSSH 付属の ssh-keygen.exe で変換して鍵を作りました。そのあと、cmd で copy /b 鍵.pub > authorized_keys を実行しました。 #このとき、authorized_keysのコピーがうまくいって #なかったようなので、ノートパッドで、中身をコピー #しました。 しかし、鍵付きでアクセスしようとすると鍵を拒否され、しかも、鍵なしのWindowsログオンパスでログインできてしまいます。 どのようにしたら、鍵付きでログインできて且つ、ログイン制限をできますか? それと、おまけに聞きたいことがあるのですが、sshd_config のPermitRootLogin は no にした方がいいのでしょうか? #Linux風に行けば、したほうが断然いいのですが、 #Winだと、rootなんてないし・・・

  • PuTTYでsshリモートログイン

    たびたび失礼します^^ 今、sshサーバーを立ち上げたLinux機に外部PCからPuTTYでリモートログインを 試みているのですがうまく行きません。 サーバーの設定でパスワードでのログインは禁止して公開鍵認証にし、 クライアント側で作成した公開鍵をサーバーに登録するところまではしました。 しかし、いざPuTTYで接続を試みると、 「PuTTY 致命的エラー ネットワークエラー:接続がタイムアウトしました」 となってしまいます。 これは何が原因なのでしょうか? クライアントPC上のLinuxからはpingは通ります。 よろしくお願い致します。

  • Puttyの鍵データを流用してLinuxクライアントからssh通信したい

    Vine Linux3.2とWindowsがデュアルブートするマシンにおいて、WindowsからPuttyにてputty_rsa.ppkというファイル名の秘密鍵を指定して、遠隔地のLinuxサーバーにsshでログインできています。 このクライアントマシンでVine Linux3.2起動し、~/.sshにputty_rsa.ppkをコピーし、~/.sshにて $ ssh -i putty_rsa.ppk -l USER REMOTE_HOST とすると、 Enter passphrase for key './putty_rsa.ppk': となるのですが、Windows Puttyでのパスフレーズを入れても3回繰り返した後、 Permission denied (publickey). となります。 どうしたらよいか、お教え頂けませんでしょうか。 2006年5月31日 RASUM2

  • sshの鍵方式ログイン

    sshで【ssh-keygen -t rsa】で鍵を作成し、pubキーをログイン先のサーバーへ配置しました。この方式でrootでは難なくログインできるのですが、一般ユーザーだと【Permission denied (publickey,gssapi-with-mic).】のようにエラーが出てログインできません。なぜでしょうか? ご存知の方、宜しくお願いします。

  • 異なるクライアントからの SSH鍵交換方式の認証

    http://www.atmarkit.co.jp/flinux/rensai/linuxtips/429usekeyssh.htmlを参考にしてPuttyにて問題なくSSH鍵交換方式の認証で接続をしています。 今回、新しいPCを購入して、そこからも同じように鍵交換方式の認証を試みようと思います。 この場合、新しいPCに現在使っている秘密鍵をそのままぶち込んで使えるものなのでしょうか? 現在使っている秘密鍵には MAC:A1B3DSt.CD... のような記述があるので、これはMACアドレスかなぁと思って、もしかして違うクライアントマシンからでは認証されないのかなと思いました。この辺お分かりでしたら教えてください。宜しくご教授お願い致します。

  • 鍵交換方式の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の公開鍵方式の接続について

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

  • 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での公開鍵認証接続時のログイン画面

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

このQ&Aのポイント
  • 以前までショートカットでスキャンが出来ていたが認識しなくなった
  • お困りの状況:MFC-J6997CDWでのスキャンが認識されず、ショートカットが使えない
  • 接続方法:有線LANで接続されている状況
回答を見る