はじめに
VirtualBoxにCentOS8をインストールして、VSCodeで Remote - SSH
で繋ぐまでの流れをここに記します。
インストールしたCentOS8のソフトウェアは『最小限のインストール』を選択しています。
インストールするときの注意点は、全てのネットワークにちゃんと『この接続が利用可能になったときに自動的に接続する』のチェックを付けることです。
また、インストール完了後にドライブの自動アンマウントがされていないので、手動でアンマウントすることを忘れないでください。おそらく、インストール完了の再起動で、再びインストール選択画面になります。
VSCodeのRemote開発までにしておきたい準備
- 公開鍵認証によるSSHログイン
- Remoteログインの簡略化のため
- sudo権限を付与
- 開発時に必要になることが予想されるため
- インストールパッケージの更新
- 脆弱性などへの対応のため
公開鍵認証によるSSHログイン
(クライアント)鍵の準備
ssh-keygen -t rsa -f ~/.ssh/develop_rsa
scp ~/.ssh/develop_rsa.pub develop:.
(サーバー)公開鍵を登録
mkdir ~/.ssh
cat develop_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh/
一度ログアウトして、パスワード無しでログインできることを確認してください。
sudo権限の付与
まずは、rootユーザーに su -
でログインします。
ログインが完了したら、対象のユーザーに wheel
グループを付与します。
gpasswd -a develop wheel
groups develop
グループの付与が完了したら、一度sshからもログアウトして、再度sshでログインしてください。
その後、 wheel
グループが付与されていることを確認してください。
インストールパッケージの更新
sudo dnf update
おそらくカーネルもアップデートされていると思うので、再起動します。
カーネルのデフォルトに指定されているものを sudo grubby --default-title
で確認しておきましょう。
新たにインストールされたカーネルのバージョンが指定されているはずです。
VSCodeのRemoteSSHを試す
もし、VSCodeの拡張機能として Remote - SSH
をインストールしていない場合は、インストールしてください。
左側にあるActivityBar内にあるRemoteExplorerから、 develop
にアクセスしてみましょう。
すると、エラーとなり、アクセスできないことと思います。
そのエラーをこれから解決していきましょう。
tar
がない
実際にアクセスしてみると、以下のようなログが出力されて、エラーになります。
remote-ssh@0.46.1
win32 x64
SSH Resolver called for "ssh-remote+develop", attempt 1
SSH Resolver called for host: develop
Setting up SSH remote "develop"
(中略)
> Installing to /home/develop/.vscode-server/bin/b37e54c98e1a74ba89e03073e5a376128
> 4e3ffb0...
>
> Downloading with curl
(中略)
> Download complete
> bash: 行 188: tar: コマンドが見つかりません
> mv: 'vscode-server-linux-x64*/*' を stat できません: そのようなファイルやディレ
> クトリはありません
> WARNING: tar exited with non-0 exit code
> WARNING: /home/develop/.vscode-server/bin/b37e54c98e1a74ba89e03073e5a3761284e3ff
> b0/node doesn't exist. Download/untar may have failed.
> WARNING: /home/develop/.vscode-server/bin/b37e54c98e1a74ba89e03073e5a3761284e3ff
> b0/server.sh doesn't exist. Download/untar may have failed.
(中略)
"install" terminal command done
Install terminal quit with output: a3cf400d-2c9d-47b9-8a86-bd67fcc560d4##32##
Received install output: a3cf400d-2c9d-47b9-8a86-bd67fcc560d4##32##
The VS Code Server failed to start
TELEMETRY: {"eventName":"resolver","properties":{"outcome":"failure","reason":"ExitCode"},"measures":{"resolveAttempts":1,"exitCode":32,"retries":1}}
------
このログによると、エラーの原因は tar
コマンドがないことです。
どうやら『最小限のインストール』を選択してインストールをすると、 tar
パッケージがインストールされていないようです。
なので、 tar
パッケージをインストールすれば解消されます。
sudo dnf install tar
tar
のインストールが完了すれば、RemoteSSHをもう一度試してみましょう。
アクセスできる状態になっていることと思います。