LoginSignup
8

More than 3 years have passed since last update.

Organization

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

はじめに

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
What you can do with signing up
8