Azure Virtual Machine にSSH接続する方法のメモ – Azure Cloud Shell と putty と VS Code

Microsoft Azure Cloud上のVirtual MachineにSSHでアクセスするにはいくつか方法があります。
Azure Cloud Shell, putty, VS Code の設定方法をメモしました。

1. Azure Cloud Shell

最も手軽なのはブラウザから使用するAzure Cloud Shellです。
AzureのVirtual Machinesの管理画面からVMの起動停止と同じ画面で「接続」をクリックすると画面下部にオープンするコンソールです。
公式Docこちら
Azure Cloud Shell の概要

Linux仮想マシンの作成とSSHキーペアの作成

ここでは下記クイックスタートガイドの様にAzure PotalでLinux仮想マシンを作成して、SSHキーペアも作成した場合を想定します。

クイック スタート: Azure portal で Linux 仮想マシンを作成する

この場合、Azure Cloud ShellのbashでSSHキーペアを作成

ssh-keygen -t rsa -b 2048

~/.ssh ディレクトリに id_rsa と id_rsa.pub ファイルが作成されています。

hogehogea@Azure:~$ ls .ssh
id_rsa  id_rsa.pub  known_hosts

SSHで接続

Azure Portal の VMの画面で connect ボタンをクリックすると右に「Connect to virtual machine」が開くので

Login using VM local accountに示されたコマンドをコピーしてAzure Cloud ShellにペーストしてSSHを実行すれば接続できます。

ssh tyamazoe @xxx.xxx.xxx.xxx

2. putty

汎用のSSHクライアントソフトです。Azure Cloud Shell で作成した秘密鍵ファイルをダウンロードして*.ppkファイルに変換してから設定します。

id_rsa ファイルをローカルマシンへダウンロード

Azure Cloud Shellの[Upload/Download files]ボタンをクリックして、~/.ssh/id_rsa ファイルをダウンロードします。

puttygen.exe で秘密鍵ファイルを *.ppk に変換する

こちらのサイトからputtygen.exeを入手します。
Download PuTTy

puttygen.exeを起動して
[Conversions] – [Import key] から
先ほどダウンロードしておいた id_rsa ファイルを選択
[Save private key]をクリックして、任意のファイル名で *.ppk ファイルを保存。

puttyに設定

生成したppk
puttyの設定で [Connection] – [ssh] – [Auth] から [Authentication parameters] の
[Private key file for authentication:] に[Browse]ボタンをクリックして、先ほど生成した *.ppk ファイルを指定する。

puttyからSSH接続

これでAuthintificationで、Azure VMのIP addressに対して接続できます。

3. Visual Studio Code から接続

puttyの *.ppkファイルを作成していれば、VS CodeのSSH FS拡張機能を使用してVS CodeからAzure VMへSSH接続し、ファイルをリモート編集することができます。
設定さえすれば、AzureのVM上のファイルをローカルファイルの様に編集可能です。素晴らしい。

SSH FSの設定

Visual Studio Codeの拡張機能から SSH FS をインストールします。

SSH FILE SYSTEMS のペインを右クリックして[Create a SSH Configuration]から設定します。

Name, Host以外に次の項目を設定します。

Username: VMへログインするユーザー名
Private key: 先程puttygenで作成した *.ppkファイルを指定
Passphrase: *.ppk(秘密鍵)のパスフレーズ

設定を保存すれば、右クリックで[Connect As Workspace foler]でAzure VMへ接続されます。
これでAzure VMのファイルもローカルにあるようにVS Codeで編集できます。

コメントを残す

メールアドレスが公開されることはありません。

ten + 8 =