AZURE Virtual MachinesのWindows Server 2019 DatacenterにSSHで接続

  • 作成日 2019.09.02
  • 更新日 2020.07.20
  • ssh
  • ,
AZURE Virtual MachinesのWindows Server 2019 DatacenterにSSHで接続

FTPは利用したくないので、SSHサーバーを構築。windows server 2019だとOPENSSHがサポートされているので作業は容易になってました。

Powershellの起動

[Windowsキー]+[R]からpowershellと入力し起動

OPENSSHインストール

## インストールできるものを確認
PS C:\Users\testuser> Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

## インストール
PS C:\Users\testuser> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0


Path          :
Online        : True
RestartNeeded : False

## サービスの起動
PS C:\Users\testuser> Start-Service -Name "sshd"

## スタートアップに設定
PS C:\Users\testuser> Set-Service -Name "sshd" -StartupType Automatic
>>

## 確認
PS C:\Users\testuser> Get-Service -Name "sshd" | Select-Object *

Name                : sshd
RequiredServices    : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
DisplayName         : OpenSSH SSH Server
DependentServices   : {}
MachineName         : .
ServiceName         : sshd
ServicesDependedOn  : {}
ServiceHandle       : SafeServiceHandle
Status              : Running
ServiceType         : Win32OwnProcess
StartType           : Automatic
Site                :
Container           :

AZUREの設定

Azure側で22ポートを許可。Azureの設定はこちら

クライアント側接続確認

TeraTermから接続
ホスト: IPアドレスかDNS名
ポート:22

VM作成時に、設定したユーザー名とパスワードを入力

接続完了

鍵認証の設定

powershellを起動

## 鍵作成
ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\testuser/.ssh/id_rsa):ENTERキー
Enter passphrase (empty for no passphrase):なし ENTERキー
Enter same passphrase again:なし ENTERキー
Your identification has been saved in C:\Users\testuser/.ssh/id_rsa.
Your public key has been saved in C:\Users\testuser/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:F+bZ9spHF7v/2wkBEGb3aWgrUVp6cyuj871XBLV2qEo testuser@test2019
The key's randomart image is:
+---[RSA 2048]----+
|         =.+   ..|
|        o B o o..|
|         +o* =.+.|
|         o++*.o.o|
|        S.E++o .o|
|         oooo.o.o|
|         o.  o..o|
|          o...ooo|
|           .o+ooB|
+----[SHA256]-----+

## 作成された鍵の場所に移動(C:\Users\testuser\.ssh\id_rsa)
cd .ssh

## authorized_keys作成
mv id_rsa.pub authorized_keys

## Everyone権限削除
icacls authorized_keys /remove Everyone

サーバーの方の設定は終わり

クライアント側接続確認

TeraTermで接続確認

秘密鍵にサーバー側で作成したid_rsaを指定

接続できない。。。設定に問題があるようで、C:\ProgramData\sshにあるsshd_configを開き、administratorsグループ以外も接続できるように設定

下記2行をコメントアウト

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

#ついでにパスワード認証も拒否に設定
#PasswordAuthentication yes
PasswordAuthentication no
## powershell より sshd を再起動
Restart-Service -Name "sshd"

無事接続