LoginSignup
8

More than 3 years have passed since last update.

CentOS8でVSCodeでRemote開発できるようにする

Posted at

はじめに

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をもう一度試してみましょう。
アクセスできる状態になっていることと思います。

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
8