LoginSignup
7
4

More than 3 years have passed since last update.

Windowsコマンドプロンプトからec2にsshする

Posted at

Windowsで開発環境整えるのって難しいですよね…。
Linuxに比べて資源少ないし…。
今回はEC2デビューしたので、WindowsのCMDからEC2にSSHする方法を説明します。

環境

  • Windows10 Command Prompt (ローカル)
  • EC2 Linux(リモート)

EC2の設定

EC2側でインスタンスを立ち上げ、SSH接続を有効にします。
私はLinuxにしましたが、お好きなOSで大丈夫だと思います。

立ち上げの際作成されるSSHキーの.pemファイルはC:\User\$User\.sshに保存してください。
WindowsでのSSHのデフォルトフォルダーです。

*EC2インスタンス立ち上げの詳細は省きます。

SSHをインストール

Windows10で 設定→アプリ→オプション機能→機能の追加 から
OpenSSHクライアントOpenSSHサーバーをインストールします。

スクリーンショット (69).png
スクリーンショット (70).png
スクリーンショット (71).png

.pemファイルの権限を修正

PowerShellを起動し、以下のコマンドを打ちます。
こうすることで、PC上の他のユーザーがこのSSHキーを使うことを防ぐことができます。

$path = ".ssh\SSH鍵名.pem"
icacls.exe $path /reset
icacls.exe $path /GRANT:R "$($env:USERNAME):(R)"
icacls.exe $path /inheritance:r

SSHキーのプロパティ→セキュリティで今使っているWindowsユーザーのみ表示されていればOKです。
スクリーンショット (73).png

cmdからSSHする

以上でWindowsの設定は完了しました!
EC2のインスタンス一覧から接続ボタンを押してSSHコマンドを取得します。
コマンドプロンプトで、.sshフォルダに移動し、上記のコマンドを打てばEC2に入れます。

C:\User\$User>cd .ssh
C:\User\$User\.ssh>ssh -i "鍵名.pem" ec2-user@ec#-#-##-###-###.region.compute.amazonaws.com

(#は数字、regionはインスタンスの地域コード、パスはEC2コンソールから取得)

おまけ SSHのコマンドが長すぎ!

EC2のSSHコマンドって結構長いですよね。
それを開発のたびに打つのは面倒くさい…
そんな時は、SSHにあだ名をつけちゃいます。

まずはコマンドプロンプトから

C:\User\$User\.ssh> notepad config

でconfigファイルを開き、以下を入力します。

Host ec2nickname (あだ名)
HostName #-#-##-###-###.region.compute.amazonaws.com (インスタンスのURL)
User ec2-user (インスタンスのユーザー名)
IdentityFile ~/.ssh/鍵名.pem

次に、dirコマンドでconfigファイルがあることを確認します。
config.txtになっていた場合、moveコマンドでconfigに直してください。

そしたら、ssh <新しい名前>だけでEC2に入れるようになります!

C:\User\$User\.ssh>move config.txt config
C:\User\$User\.ssh>ssh ec2nickname

参考資料

https://www.youtube.com/watch?v=gpQOiln8Q4k
https://www.youtube.com/watch?v=GEA4t1Z1OP4

7
4
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
7
4