• 締切済み
  • 困ってます

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サーバを再起動させています。 詳しい方がいましたら、よろしくお願い致します。

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

  • 回答数2
  • 閲覧数763
  • ありがとう数0

みんなの回答

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

>確かに知識がないままやると危険ですね…。この辺はしっかり固めたいと思います。 非標準ポート(22番以外)に換えてしまうのがてっとりばやいです。 AllowUsersを設定する。 pamでいぢる。なんて方法もありますね。 http://www.server-memo.net/server-setting/ssh/63a57d9a30e630fc306e52369650 一般ユーザでssh接続した後で管理者の作業が必要になった場合はsudoコマンドで処理するか、su -で管理者に切り替える。と…… # ubuntuの文化的には前者のsudoコマンド…でしょうね。 >/etc/.ssh/sshd_configファイルのPasswordAutheticationをyesに戻して、TeraTermからユーザ名(一般ユーザ)、パスワードを入力しただけです。 一般ユーザならパスワード認証は通るでしょう。 rootユーザの場合は弾かれますね。 # /var/log/auth.logに残っているハズです。 >>のユーザ名ってrootですよね? >一般ユーザ名でやっています。 一般ユーザで公開鍵認証したいのでしょうか? rootユーザで公開鍵認証したいのでしょうか? どちらです? まぁ、rootユーザでやりたい…んですよね? >PermitRootLoginをyes->noに変更 ということは。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/422sshokroot.html 一般ユーザでssh接続する場合は変更する必要がありませんし。 >># 作成した公開鍵と秘密鍵はrootのもの…ですよね? >これはどうやって確認できますか? ええっと……。 /rootってなんのディレクトリか判った上での質問でしょうか?? >2. sudo mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keysで公開鍵設定 で/root配下に置いていますよね? 一般ユーザで公開鍵認証したいのでしたら… >1. sudo ssh-keygen -t rsaで、パスフレーズ設定 で、sudoコマンドにする必要はありませんし、 それ以降の作業も一般ユーザのホームディレクトリ(の下の.sshディレクトリ)で作業するものですが。 # 勿論、その際にsudoコマンド通す必要はありません。 # USBメモリのマウントにはsudoが必要になるかも知れませんけど。

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

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

  • ssh-keygen について

    パスワードなしでリモートホストにログインする方法で、 「ssh-keygen -t rsa」 コマンドを利用しているのですが、ここで 鍵ファイル名をid_rsa ではなくxxx_rsa とした時に 公開鍵をリモート、秘密鍵をローカルに設置して「ssh user@hostname」コマンド を行ってもパスワードを聞かれてしまいます。 デフォルトのid_rsa のままで同じことをすればパスワードを聞かれないのですが、 鍵ファイル名を変更したときには、他に設定すべき項目かsshログインするときに 必要なオプション等はありますでしょうか。 回答よろしくお願いします

  • 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 の中に入っているデータはいったいなんなんでしょうか??(相手の公開鍵??) /* 長くなりましたが、答えれる部分でいいので、よろしければお答えいただけないでしょうか。どうか、よろしくお願いします。

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

そもそも…rootユーザをネットワーク越しで…というのはよろしくないのですが。 たとえsshでも。 # パスワード認証切っていればまぁ、マシですが…。 ちなみに、パスワード認証のままrootログイン可能にしていると中国や韓国などから お友達になりたい人からのアクセスがたくさんとかいうことになるかもしれません。 お友達になれた特典は、PCの押収と取調室へのご招待とかかも。 まぁ、ソレはソレとして…… 手元のubuntu server 11.04(VMware)で試した限りでは… >PermitRootLoginをyes->noに変更 でも ssh -l root localhost でもパスワード認証は通りませんでした。 # 事前にsudo passwd rootでrootパスワード設定していても…です。 # ubuntuでrootパスワード設定…ってのも妙な気分ですな…。 ということで… >パスワード認証にすると問題なくできましたので、ネットワークの問題ではなさそうです。 というのはどうやったのでしょう?? というか… >TeraTermを使って、 >ユーザ名、パスフレーズ(上記で設定したもの)、秘密鍵(USBメモリのid_rsaファイルを指定)を設定して のユーザ名ってrootですよね? # 作成した公開鍵と秘密鍵はrootのもの…ですよね? rootユーザのコンソール以外からのログインは…元々、いろいろと制限されています。 # pamで。securettyとか、その他……。

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

質問者からの補足

ありがとうございます。 >ちなみに、パスワード認証のままrootログイン可能にしていると中国や韓国などから >お友達になりたい人からのアクセスがたくさんとかいうことになるかもしれません。 確かに知識がないままやると危険ですね…。この辺はしっかり固めたいと思います。 >>パスワード認証にすると問題なくできましたので、ネットワークの問題ではなさそうです。 >というのはどうやったのでしょう?? /etc/.ssh/sshd_configファイルのPasswordAutheticationをyesに戻して、TeraTermからユーザ名(一般ユーザ)、パスワードを入力しただけです。 >のユーザ名ってrootですよね? 一般ユーザ名でやっています。 ># 作成した公開鍵と秘密鍵はrootのもの…ですよね? これはどうやって確認できますか?

関連するQ&A

  • SSHって・・?

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

  • TeraTermからレンタルサーバーのCentOSへのsshについて

    TeraTermからレンタルサーバーのCentOSへのsshについて WinXP上からTera TermでレンタルサーバーのCentOSへのsshでアクセスしようとしています。 PuttyGenにてssh-2 RSAで公開鍵、秘密鍵を作成しました。サーバーには公開鍵の設定をしてもらいました。 WinXP上からTeraTermを起動し、秘密鍵の設定をして起動すると、 「SSH2 秘密鍵の読み込みに失敗しました。error:0906D06C:PEM routines:PEM_read_bio:no start line」と表示されて接続できません。 どうすればアクセスできるか教えてください。

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

  • Tera TermのSSHについて

    ssh-keygen -t rsa1っていうので 秘密鍵と公開鍵を生成して、identityをTera Termを使う側に 持ってきました。 Tera Termで接続しようとしたら、 下記エラーが出ました。  SSH秘密鍵の読み込みに失敗しました error:0906D06C:PEM routines:PEM_read_bio:no start line ご存知な方いらっしゃいませんか?? 鍵が壊れてる??っぽいのですが..

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

  • SSHとTera Term Proの使い方について

    Vine Linux2.6r4の入ったPCとWindowsの入ったPCでLANを組んでいます。Vine機はファイルサーバー用途です。 SSHを使用するため、Tera Term ProとTTSSHをWin XP機にインストールしました。 Vine Linux機で公開鍵と秘密鍵を作成しました。 #ls ではis_rsaとid_rsa.pubの存在を確認しました。 $mcopy id_rsa a:    でフロッピーに落とし、Win XP機のTera Termのディレクトリに置きました。 Tera Term の設定をしてLinux機にログインするためにSSH認証ダイアログボックスにパスフレーズを入れたのですがログインできませんでした。(鍵のパスワードを入れました) ログイン不可能の表示は TTSSH !   The specified key file does not contain an SSH private key と 出ています。 [RSA鍵を使う]では[個人鍵]はTera Termディレクトリに入れたid_rsaを指定しました。 いろいろ試行してみたのですがだめでした。 原因と対策がわかる方がいましたらよろしくお願いします。

  • SSHでTELNET

     こんにちは、honiyonです。  SSHの知識について確認をしたいのですが...  サーバー側で、SSHの設定を行いクライアントからSSHで保護されたTELNETを使用する場合、SSH(Port22)に接続し、設定を行ったユーザー名とパスフレーズ、RSA公開鍵を使用してログインします。  ・・・で合っていますか?  TELNET(Port23)からログインしたのでは、SSHで保護されませんよね?    基本的な所で申し訳ないのですが、宜しくお願いします(..

  • 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を使って、外部側(インターネット)から自宅PCにアクセスしたいと 思っています。 そこで、以下のように構築しました。 自宅PC(Fedora) --- ルータ(インターネット) ---- windowsPC 自宅PCには、SSHサーバ構築済みです。 公開鍵と秘密鍵も生成済みです。 ルーターは22ポートを開けました。(ちゃんと開いているかも 確認済みです) この状態で、 (1)自宅のもうひとつのwindowsPCからSSHクライアント(poderosa)を使い  ログイン成功(公開鍵方式) (2)自宅のもうひとつのwindowsPCからPuttyを使い、ログイン成功 (3)自宅のもうひとつのwindowsPCからwinscpを使い、ログイン成功 すべて公開鍵方式です。 (4)外部のwindowsPCからSSHクライアント(poderosa)を使い、  ログイン成功(公開鍵方式) とここまでは順調だったのですが、以下がなぜか接続できず、 「接続が拒否されました」とでます。 (5)外部のwindowsPCからPuttyを使ったログイン (6)外部のwindowsPCからwinscpを使ったログイン 公開鍵秘密鍵の生成は、poderosaの鍵生成ツールを使い生成しています。 また、PuTTYとwinscpの秘密鍵は、poderasaで生成した秘密鍵を Puttygenを使い、Putty用に生成しなおしてから使用しています。 (1)~(4)までが成功して、(5)~(6)が失敗する理由がわかりません。 すべて22番ポート(ssh)を使っていると思うので、 (4)が成功すれば、(5)、(6)は成功すると思っていたのですが、 なにかまだ足りない設定があるのでしょうか。 情報が不足している場合は、ご指摘ください。 以上、よろしくお願いいたします。