当ブログではPRや広告を掲載しています

【初心者向け】SSHで接続とは?をエンジニアがざっくり解説!

ssh 初心者 プログラミング
この記事はこんな人向け
  • Webプログラミング初心者
  • Linux初心者
  • AWSでsshコマンドの使い方に自信がない
スポンサーリンク

sshコマンドで何をしているのか

つまるところ…

結論から言うと、sshコマンドは、別のPCに接続をするコマンドです。
要は、リモートでPCにログインしているということです!

例えば図で表すと、AWS で EC2 をお使いの場合には以下のようになります。

コマンドの使い方

sshコマンドの基本的な使い方は以下の通りです。
(オプションもあるので、後述します)

ssh ユーザー名@IPアドレス
※このコマンドを実行(Enter)するとパスワードの入力が求められる。

普段使っている自分のPCにログインする時も「ユーザー名」と「パスワード」を入力していると思いますが、sshでも別のPCにログインしているだけなので、やっていることは基本的に同じことですね。

自分のPCにログインする時と違って「IPアドレス」の入力が必要な理由は、”どのPCにログインするか”という情報が必要なためなんです。

場合によっては「IPアドレス」でなく、「ホスト名」を使用することもありますが、まあ初心者のうちはIPアドレスと覚えておくと良いでしょう。

オプションについて

よく使うオプションを1つ紹介しておきます。

それは “-i” のオプションです。
特にAWSを使う人には覚えておいてほしいオプションです。

“-i” のオプションを使用した sshコマンドの使い方は以下の通りで、「証明書ファイル」と呼ばれるものが必要になります。
(※代わりに「パスワード」の入力が不要となります)

ssh -i xxx.pem ユーザー名@IPアドレス

「xxx.pem」と記載した部分が「証明書ファイル」と呼ばれるもので、ログインに必要なsecret情報(つまりパスワード)が暗号化された状態で入っています。

ユーザー名やIPアドレスについては、先ほど紹介した内容と同じですね。

AWS編

AWS の EC2 にsshする

昨今ではAWSを使って開発する人も多いと思いますので、これ以降 EC2 でのsshを解説していきます。

pemファイルの取得

EC2 にsshする際には、”-i” オプションでpemファイルを用いて接続する方法が一般的です。

pem(ペム)ファイルは、EC2インスタンスを作成する時にAWSの画面からダウンロードすることができます

セキュリティグループの確認

EC2を作成した後、対象のインスタンスのセキュリティグループを確認してみましょう。

「インバウンドルール」の中にタイプがSSHとなっている行があると思います。
これは、外部からEC2への接続を許可する設定で、この設定がないとsshコマンドを実行してもタイムアウトになったりします。

もしこの設定が無い場合は、「インバウンドのルールを編集」の画面から追加しましょう。

パブリックIPアドレスを確認

sshコマンドの実行には「ユーザー名」と「IPアドレス」が必要でしたね。

EC2 のユーザー名は、特殊な指定をしていない場合、デフォルトで “ec2-user” と決まっています。

IPアドレスは、AWSの画面から EC2 を選択することで確認できます。
sshでは、下の画像に赤枠で囲っている、「パブリック IPv4 アドレス」を使用します。

ここでsshコマンドをおさらいしておきましょう。

ssh -i xxx.pem ユーザー名@IPアドレス

Cloud9からEC2へssh

これまでは自分のPCから EC2 へsshする方法を解説してきましたが、開発自体はローカルPCでなくクラウドのIDEでやっている人も少なくないと思います。

ここでは AWS の Cloud9 を例にして説明します。

まず、自分のPCから Cloud9 に繋いで、sshで EC2 に接続しているのを簡単な図にしてみました。

Cloud9 を開くにはAWSの画面から操作していきますが、ブラウザを経由して認証済(ログイン済)のため、sshしなくとも自分のPCから Cloud9 には繋がります。

Cloud9 → EC2 の接続は、新たに認証(ログイン)が必要なため、sshコマンドで証明書ファイルを指定し、接続します。

Cloud9上のpemファイル

さて、EC2 へのssh接続には、pem(証明書)ファイルが必要でしたね。

pemファイルは EC2 を作成する際に自分のPCにはダウンロードしていると思います。
Cloud9 から EC2 にsshするために、このpemファイルを Cloud9 にアップロードしましょう。

やり方は簡単で、自分のPC上でpemファイルを Cloud9 の画面にドラッグ&ドロップするだけです。
これでアップロードは完了です。

そうしたら Cloud9 のターミナル画面で、以下のようにsshコマンドを実行すれば EC2 へ接続完了です!

ssh -i pemファイル(相対パス) ec2-user@EC2のパブリックIPアドレス

コメント

タイトルとURLをコピーしました