0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Photon OS を VSCode が動く開発環境にしよう!

Posted at

Photon OS は、クラウド環境に最適化された非常に軽量でミニマリストな Linux OS です。

簡単ですが、こちらの記事の冒頭で、Photon OS について紹介をしてます。

非常にシンプルな OS ながら、簡単にデプロイできるので、K8s のクライアントとして、kubectl を叩くための VM としては、とても重宝しています。

しかし、シンプルが故に、ゴリゴリの開発環境として使うには、少し扱いづらい部分もあります。
ただ、VSCode が使えたとして、「ちょっとログを読みたいな」「ちょっと Dockerfile を書きたいな」という場面はあると思います。
そんな時に、VSCode の Remote - SSH の拡張機能を使って、遠隔の Photon OS 上のファイルを VSCode で編集できると、とても幸せになれるので、今回はその方法をご紹介します。

前提

Photon OS がデプロイ済みであり、最低限の設定として、こちら↓のあたりが行われている想定で、手順を記載しています。

また、執筆時点で、Photon OS は ver 4.0 を利用しています。

# cat /etc/photon-release
VMware Photon OS 4.0
PHOTON_BUILD_NUMBER=2f5aad892

VSCode の方も、Remote - SSH の拡張機能をインストールしておいてください。

依存パッケージのインストール

VSCode が Remote - SSH で、遠隔の Linux OS にアクセス後、内部では、必要なファイルをダウンロードし、何かをビルドしているようで、下記のパッケージがインストールされていないと、接続後にエラーとなってしまいました。
そこで、あらかじめ依存パッケージを Photon OS にインストールしておきます。

tdnf install -y tar build-essential ca-certificates curl wget

sshd コンフィグの変更

VSCode の Remote - SSH では、SSH のポートフォワーディングを使っているようで、接続先のリモートホストで、この機能が有効になっている必要があります。
しかし、Photon OS では、セキュリティの観点から、この機能がデフォルト無効になっているため、これを有効にしておきます。

まず、visshd_config を開き

vi /etc/ssh/sshd_config

下記の部分を編集して、保存します。

/etc/ssh/sshd_config
# !!注意!!
# ファイルの下の方に AllowTcpForwarding no が設定されているため、
# その行は削除 or コメントアウトした上で、下記を追記してください!
AllowTcpForwarding yes
PermitOpen any

少しだけ、設定の意味を記載しておくと、AllowTcpForwarding yes で TCP ベースのポートフォワーディングを有効にしています。
また、その転送先に関しては、PermitOpen host:port で、転送先を絞ることができます。しかし、ここでは簡単のため、特に制限を設けず、任意のホストへの転送を許可しています。もし、よりセキュアに環境を構築する必要がある場合には、この設定を使うことで、アクセスできる端末を制限することができます。

最後に、sshd_config を編集しているので、sshd を再起動させて、設定を反映させます。

systemctl restart sshd

接続先の設定

例えば、Mac 上で、下記のように、SSH 接続の設定を入れておくと、VSCode 上に接続先の候補として表示されます。

~/.ssh/config
Host           <接続先ホストのエイリアス名>
HostName       <接続先ホストの IP or FQDN>
User           <ユーザー名>
IdentityFile   <SSH 接続する際の秘密鍵で普通は ~/.ssh/id_rsa で良いはず>
# 踏み台がある場合には下記も追加
ProxyCommand   ssh -CW %h:%p <踏み台サーバーのエイリアス名>

VSCode から接続

後は VSCode に Remote - SSH の拡張機能がインストールされていれば、[Remote Exproler] から接続したいホストを選択することで、遠隔の Photon OS 上のファイル/フォルダを、あたかもローカルにあるかのように開くことができます。
Screen Shot 2022-06-21 at 22.56.16.png

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?