質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • SSH

    568questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • 公開鍵認証

    26questions

    公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

Macで行っている公開鍵認証をWindowsでも行う方法

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 933

KCBR6502

score 54

VPSへのssh接続を公開鍵認証で行っており、ローカル側はMac、サーバ側はCentOSで設定を行いました。

別のWindowsマシンからも接続したいので、Macにある秘密鍵をWindowsにコピーしたのですが、それだけだとうまくいきません。

実際に行ったのは、WindowsのTeraTermで
「設定→SSH認証」でユーザーを入力→秘密鍵のパスを入力→「新しい接続」でホスト名を入力
を行いましたが、接続されません。

恐らく全然方法が違うような気がするのですが、秘密鍵を移行させるだけではダメなのでしょうか。

よろしくお願いします。

<追記>

秘密鍵のファイル名はid_rsa
公開鍵は、作成時id_rsa.pub、サーバ側でauthorized_keysにリネーム
です。

sshdのログは以下です。

※成功時のログが間違えてましたので、修正しました。

【失敗時(PC)】
ログは残りません。
※修正しました。

【成功時(Mac)】
Jan  5 20:18:03 ik1-307-13989 sshd[1862]: Accepted publickey for <ユーザー名> from <IPアドレス> port 63133 ssh2                                                     
Jan  5 20:18:03 ik1-307-13989 sshd[1862]: pam_unix(sshd:session): session opened
for user <ユーザー名> by (uid=0)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • ikedas

    2017/01/04 21:31 編集

    秘密鍵と公開鍵のファイル名 (ファイルの内容はいらないです) や、接続を試みたときのサーバのsshdのログ (具体的なホスト名やユーザ名は伏字にしていただいていいです) を質問に追記していただけますか。

    キャンセル

  • ikedas

    2017/01/05 16:47

    あと念のため。サーバ側のファイルは「ホームディレクトリ/.ssh/authorized_keys」(「t」の後に「h」がある、最後に「s」がある) ですが、ファイル名に間違いはないでしょうか。

    キャンセル

  • KCBR6502

    2017/01/05 17:23

    すみません。「h」の抜けは誤植です。最後の「s」は付いてて正解ですよね。

    キャンセル

回答 4

checkベストアンサー

+1

ソフトウェアの開発業務では、「ネットワークがつながらない」というトラブルは日常茶飯事です。ネットワークの基本的な仕組みを理解してトラブル解決をおこなう技を身につけられる方が良いと思います。

まず、ぐぐってみるとTeraTermでSSH接続が出来ない!トラブルシューティングやってみましたみたいなのが見つかって、今回の場合、「接続先ポート番号が間違っている場合」が該当しそうですが、いかがでしょうか?

これで解決しなければ、ソフトウェアの問題かどうかを切り分けるために telnet や power shell 等の原始的な方法で接続してみます。Mac であればデフォルトtelnet が入っているので、 telnet を使いますが、 Windows であれば最近は Power shell を使うのが良いようです。

参考:telnetコマンドのないWindowsでのTCPポート確認

これで、つながれば、 teraterm の問題なので、もう一度設定を見直すことになりますが、つながらない場合は、以下のような可能性があります。

  • ネットワークの途中でパケットがドロップされている(=捨てられている)→ Wireshark で、パケットが捨てられていることを確認することになります。
  • DNSで名前解決ができていない→この場合はIPアドレスで接続先を指定するとつながります
  • ルーティングが通っていない→ route print とかで対象サーバへのルーティングが正しいかどうかを確認する

ちなみに、エラーになるまでに時間がかかるかどうかで、ドロップされているのか、 ICMP で拒否通知が来ているのかを切り分けることができます。前者の場合はエラーになるのに時間がかかりますが、後者の場合はすぐにエラーが出ます。後者の場合であれば、 Wireshark で ICMP をキャプチャすることで誰が拒否しているかわかるのですが、最近のファイアウォールは前者の設定の場合が多く、結局ネットワーク管理者に訴えるしか無いということになるかと思います。

参考:ネットワークのトラブル解析などに利用できるネットワークアナライザー「Wireshark」の使い方

全くつながらない場合は、ネットワーク機器の問題の場合が多いのですが、他のマシンからはつながるという状態であれば、両方のネットワークキャプチャ(Wireshark で採取)を比較することでトラブルシューティングできる可能性が高いです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/06 11:07

    解決しました。
    ほんとに初歩的なことで、sshのポートをデフォルトから変更したことを忘れており、teratermで接続時にポート番号を22から変えていなかったことが原因です。

    普段の業務でポート番号を変えることがないので、うっかりでした。

    お騒がせしました。

    キャンセル

0

秘密鍵をそれを生成したPCの外に持ち出すのは(バックアップ目的を除き)原則としては無いと思います。秘密の物なので。とはいえ、Teratermのサポートする形式の秘密鍵なら、お書きの方法で認証されると思いますので、Teratermと形式が合わないでしょう。

ごく普通の方法としては、Teratermで鍵生成して、公開鍵をサーバーに持ち込みます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/04 17:48

    サーバに公開鍵を複数持たせるということでしょうか?

    キャンセル

  • 2017/01/04 18:19

    そうですね。それが普通です。

    キャンセル

  • 2017/01/04 18:32

    ありがとうございます。やってみます。

    キャンセル

  • 2017/01/04 19:50

    すみません。うまく行かずもう少し助けてください。
    teratermで鍵を生成し、できた公開鍵の内容を、サーバ側のauthorized_keyに追記しました。
    ところがteratermで接続を試みると「ホストに接続できません」と出てしまいます。(入力画面にすらいかない)
    鍵云々の問題ではない気がするのですが、原因分かりますでしょうか…

    キャンセル

  • 2017/01/04 21:29

    ・ネットワークがつながっていない
    ・Windows側のFirewallがじゃまをしている
    ・サーバー側の問題(同じタイミングでMacから接続できるなら該当せず)
    ・家庭内ルーターの問題(同じタイミングでMacから接続できるなら該当せず)
    等が、思い浮かばないようであれば、VPSを使うのは早いと思います。

    キャンセル

  • 2017/01/05 15:36

    環境は社内環境で、FirewallはOFFになっています。
    社内のルータとかで弾かれているのかと思いましたが、Macからは接続できます。
    なので、ご指摘いただいた内容はいずれも該当しないです。

    キャンセル

  • 2017/01/05 15:41

    失礼しました。質問の感じから、個人の趣味の範囲の作業かと思っていました。
    会社の業務ということなら、ネットワーク担当者に調査を依頼してください。

    キャンセル

  • 2017/01/05 15:54

    いえ、個人の趣味なのはその通りです。ただ、家での時間がとれず、会社でもちょこちょこやりたいというのが実情です。幸い、それが許される環境なので。Macというのも、家で使っているMacBookです。設定も家でやったので、社内LAN環境でつながればMacであるからという理由はないような気もするのですが…。有線か無線かの違いはありますが(MacBook:無線、PC:有線)、グローバルIPは一つなので。

    キャンセル

  • 2017/01/05 22:29

    いずれにせよ、認証画面すら出ないというのは、ネットワーク的な問題であるのは明かですので、会社のネットワーク担当者に相談してください。会社のネットワーク環境が不明な状態では他人はアドバイスできません。

    あと、質問文の【失敗時(PC)】 として書かれているログは、sshのログインとは無関係です。コンソールから sudo vi したというログです。見たら分かると思うのですが。。。

    キャンセル

  • 2017/01/05 23:01 編集

    失敗のときはログは残ってませんでした。(すみません)
    業務で他の色んなサーバにバンバン繋いでるので、こちらのLAN側が原因とは考えにくいと思うのですが、明日確認してみます。

    キャンセル

0

port の問題じゃないですか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

-1

PCでのログイン失敗時にサーバ側にログが残ることから、ネットワーク的な問題とは違うんじゃないでしょうかね。
むしろ、rootでログインしようとして蹴られているように見えます。

Windows側もTeratermではなく、Macと同じようにSSHコマンドを使うのではだめですか。
GitかなんかインストールすればSSHコマンドも入ってきます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    ldapでSSHログインができない

    LDAPで管理しているユーザーアカウントでSSHログインができずに困っています。 クライアント側ではLDAPからユーザーアカウント情報を参照でき、パスワード認証でログインもできます

  • 解決済

    windowsのcmdでLinuxコマンドを入力できるようにしたい

    「Oracle VM VirtualBox」と「centos」をインストールし、VirtualBoxの仮想環境でLinuxが使える状態になりました。しかし、Windowsのコマンド

  • 解決済

    多段SSHでの公開鍵認証でのログインについて

    前提・実現したいこと サーバBへのSSHログインを行う際に、必ずサーバAを踏み台にしてログインをするようなルールの基、設定を行っています。 ログインに使う鍵は、自端末で生成した

  • 解決済

    Adobe Dreamweaver CCを使って公開鍵認証の設定をしてるLinuxサーバへssh接続...

    前提・実現したいこと Adobe Dreamweaver CCを使って、公開鍵認証の設定をしてるLinuxサーバへssh接続する。 確認したい点は、 ・OpenSSH形式

  • 解決済

    公開鍵を使用しSSHログインしたい。

    行った手順 セキリティの為、公開鍵でログインする設定を行いました。 設定手順としてはクライアントで秘密鍵と公開鍵を生成し、公開鍵をサーバーの rootディレクトリにアップロー

  • 受付中

    Windows<-Mac SSH で gcc を使いたい

     MacからWindowsにSSH接続をしてgccコマンドを使える環境を構築したい Windowsにリモートで接続してgccコマンドを使いたいです。 WSL Ubuntuをイン

  • 解決済

    ssh: connect to host example.com port 22: Connecti...

     前提・実現したいこと gitを使用してRailsアプリを作成、cpanelにクローンさせたいのですが、その手前のssh loginでつまづいております。 How to clo

  • 解決済

    bitbucketの公開について。

    bitbucketを使いソース管理をし、macのローカルから、ansibleを使用してubuntuサーバにプログラムを更新しています。 現在は、リポジトリを公開にして、ansi

同じタグがついた質問を見る

  • SSH

    568questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • 公開鍵認証

    26questions

    公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。