PowerShell Core 6.1新機能 SSHリモート

【連載】

PowerShell Core入門 - 基本コマンドの使い方

【第24回】PowerShell Core 6.1新機能 SSHリモート

[2018/10/12 10:15]後藤大地 ブックマーク ブックマーク

  • サーバ/ストレージ

サーバ/ストレージ

PowerShell CoreでSSH接続

PowerShell Core 6.0からリモートセッションプロトコルにSSHが利用できるようになっている。OpenSSHで接続する場合と違って、接続先ホストにPowerShell Coreが存在しており、かつ、sshdからPowerShell Coreが起動するように設定されている必要があるのだが、SSHで接続できるようになった意義は大きい。これによってmacOSやLinuxといったホストにもPowreShell Coreから接続できるようになったからだ。

PowerShell Core 6.0では次のようなコマンドレットでSSH経由の接続を実施できる。

PowerShell Core 6.0からSSH接続

Enter-PSSession -HostName ホスト名 -UserName ユーザ名

オプションの指定方法はPowerShell流になっているが、これはOpenSSHのユーザからすると馴染みのない方法だ。これがPowerShell Core 6.1では若干拡張され、次のような使い方ができるようになった。

PowerShell Core 6.1からはこのような指定が可能になった

Enter-PSSession -HostName ユーザ名@ホスト名:ポート番号

こちらの指定方法はsshコマンドの引数に指定する方法と同じだ。sshユーザとしてはこちらの方がよく馴染む。

SSHで接続するための準備

PowerShell CoreからSSH接続するためには、sshd側の設定を変更してPowerShell Coreが起動するようにしておく必要がある。

macOSおよびLinuxの場合には次のような設定をsshd_configに追加する。

sshd_config設定ファイルに追加する設定(macOS)

Subsystem powershell /usr/local/bin/pwsh -sshs -NoLogo -NoProfile

sshd_config設定ファイルに追加する設定(Linux)

Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile

Windowsの場合はパスに空白が含まれるので、次のようにリンクを作成してから、設定ファイルにリンクの方を指定する。

空白を含まないパスをリンクで用意

mklink /D c:\pwsh "C:\Program Files\PowerShell\6.1.0"

sshd_config設定ファイルに追加する設定(Windows)

Subsystem    powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile

これでSSH経由での接続のあとにPowerShell Coreが起動するようになる。設定を反映させるためにsshdを再起動する。

sshdの再起動(macOS)

sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd

sshdの再起動(Linux)

sudo service sshd restart

sshdの再起動(Windows)

Restart-Service sshd

これで準備完了だ。

PowerShell CoreからSSH接続

PowerShell Core 6.0からは次のようにSSH経由で接続できる。

PowerShell Core 6.0からSSH接続

PowerShell Core 6.1からは次のようにも接続できるようになった。

リモート接続できるようになるとPowerShellの強力な機能を使ってローカルとリモートの間でデータのやりとりが可能になる。本連載ではリモートに関してはまだ取り上げていないが、このあたりも追って紹介していこう。

SSH経由でmacOSやLinuxにログインできるようになると、俄然管理用シェルとしてのPowerShell Coreの本領が発揮できるというものだ。

参考資料

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
4084
2
【連載】PowerShell Core入門 - 基本コマンドの使い方 [24] PowerShell Core 6.1新機能 SSHリモート
PowerShell Core 6.0よりリモートセッションプロトコルにSSHが利用できたが、PowerShell Core 6.1では指定方法がよりsshに近いものになっている。
https://news.mynavi.jp/itsearch/files/PS_300-250.jpg
PowerShell Core 6.0よりリモートセッションプロトコルにSSHが利用できたが、PowerShell Core 6.1では指定方法がよりsshに近いものになっている。

会員登録(無料)

注目の特集/連載
AI人材に必要なもの
DMM.make AKIBAから生まれたスタートアップたち
はじめてのRPA導入
教えてカナコさん! これならわかるAI入門
RPA入門
PowerShell Core入門
Swagger 3.0 入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
クラウドアンケート

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る