検索

PhotonOSに対してVScodeでRemote SSHを出来るようにする

会社の検証環境でVM esxi上でdockerを運用する為のホストOSとしてPhoton OSを採用したんだけどremote sshを使えるようにするするのに少し躓いた箇所があったのでメモ。

Remote SSHでエラーが出る

事前準備

PhotonOSをesxi上でデプロイして使えるようにしたら、いつものようにsshdを以下のように利用できるようにした。confファイルは特に触ってない。最初からauthorized_keysに公開鍵の中身が記述さえ出来てれば公開鍵認証出来る状態だった。

# sshdの自動起動の有効化と起動
systemctl start sshd
systemctl enabl sshd
# 公開鍵と秘密鍵が最初から作られてるので/root/.ssh/authorized_keysに公開鍵を吐き出す
cat /etc/ssh/ssh_host_ed25519_key.pub > /root/.ssh/authorized_keys
Code language: PHP (php)

vscodeを使用するsshクライアントの”~/.ssh/config”にいい感じに書く

Host tlinux
  HostName 192.168.0.130
  IdentityFile ~/.ssh/key/test_ed25519
  User root
Code language: JavaScript (javascript)

あとはscpで秘密鍵をPhotonOS上から持ってくる。上記の例だと”scp root@192.168.0.130:/etc/ssh/ssh_host_ed25519_key ~/.ssh/key/test_ed25519″

いざVScodeからRemote SSHしてみる

Remote SSHする準備が出来たので接続しようとしたが以下のようなエラーを吐きやがる。

Resolver error: Error: Failed to install the VS Code Server
Code language: JavaScript (javascript)

どうもVS Code Serverというものをsshサーバ側に入れる処理をしているらしい。Ctrl+Shift+@でVS code上でターミナルを起動し、出力タブに切り替えるとRemote SSHの出力が見れるので遡ってインストールに直接関係ありそうなエラーを探してみると以下のエラーを発見。

tar: command not found

Code language: HTTP (http)

どうもcurlでインストールに必要なものが詰まったtar.gzをDLしてtarコマンドを実行しているようだった。試しにPhotonOS上でtarコマンドを試してみたら案の定無いと言われたので以下のコマンドでインストールして対処する。tdnfというあまり聞き慣れないパッケージマネージャだがほぼdnfと同じRPMベースのモノっぽい。

tdnf install tar

インストールしたらちゃんと開けるようになったはず。