2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

公開鍵認証を使ってリモートサーバーにSSH接続する

Posted at

注意

環境はMacOSです。

また、以下ではクライアントとリモートサーバーという言葉を次のような意味で用います。

  • クライアント...接続元のサーバー(あなたの使ってるPC)
  • リモートサーバー...接続先のサーバー

手順

この記事では以下の手順で公開鍵認証を使ってリモートサーバーにSSH接続する方法を説明します。また、上手くいかない時は一番下の補足を参照ください。

  1. ssh-keygenコマンドを使ってクライアント側で秘密鍵と公開鍵を生成する。
  2. ssh-copy-idコマンドを使ってクライアント側で生成した公開鍵をリモートサーバーに登録する。

秘密鍵と公開鍵の生成

クライアント側でターミナルを開き、以下のコマンドを実行します。

ssh-keygen

すると、どこに鍵を保存するかを聞かれます。そのままエンターを押すと()内に記載され場所に保存されます。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/{ユーザー名}/.ssh/id_rsa):

次に以下のようなメッセージが出ます。これは秘密鍵自体にパスフレーズ(パスワード)を設定するか聞いています。そのままエンターを押すとパスフレーズ無しで設定されます。

Enter passphrase (empty for no passphrase):

次に以下のメッセージが出ますが、これは設定したパスフレーズの確認ですのでもう一度同じパスフレーズを入力してください。

Enter same passphrase again:

これで秘密鍵と公開鍵の生成は完了しました。id_rsaが秘密鍵でid_rsa.pubが公開鍵です。保存したディレクトリに移動して確認してください。

公開鍵をリモートサーバーに登録する

先ほどクライアント側で生成したid_rsa.pubの内容をリモートサーバーの.ssh/authorized_keysに追記する必要があるのですが、以下のコマンドをクライアント側で叩くだけでそれができてしまいます。

ssh-copy-id {ユーザー名}@{リモートサーバーのホスト名}

接続できるか確認

SSH接続ができるか確認してみます。以下のコマンドを叩きパスワードを聞かれずに接続できれば成功です(秘密鍵にパスフレーズを設定した人はその入力をする必要があります)。

ssh {ユーザー名}@{リモートサーバーのホスト名}

補足

うまくいかない時はこちらを参照ください。

ssh-copy-idができない

以下のコマンドではデフォルトで.ssh/id_rsa.pubを探しにいきます。

ssh-copy-id {ユーザー名}@{リモートサーバーのホスト名}

以下のようにオプション-iを付けてファイルを指定する方が確実です。

ssh-copy-id -i {公開鍵までのパス} {ユーザー名}@{リモートサーバーのホスト名}

ssh接続ができない or パスワードを聞かれる

こちらも同様以下のコマンドではデフォルトで.ssh/id_rsaを探しにいきます。

ssh {ユーザー名}@{リモートサーバーのホスト名}

以下のようにオプション-iを付けてファイルを指定する方が確実です。

ssh -i {秘密鍵までのパス} {ユーザー名}@{リモートサーバーのホスト名}
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?