Cursorでサーバーに接続してユーザーを切り替える
はじめに
VScodeないしCursorにはリモートSSHという拡張機能があり、サーバーに接続することができます。
ただ、接続先のサーバーに接続した上でエディター上で別ユーザーを変えようと思うと少し工夫が必要になったので、その備忘録となります。
(個人ユーザーからwww-dataに切り替えるなど)
自分はCursorを使用しているので、Cursorで解説します。
接続先サーバーにCursorを接続する
まずは接続先サーバーにCursorで接続できるようにします。
ユーザー切り替えはまだできません。
まず、~/.ssh/configに接続設定を書きます。
Host remote-server
HostName xxxxxxxx
User test-user
IdentityFile ~/.ssh/id_rsa
ターミナルで対象のサーバーに接続します。
接続先で自身のユーザーディレクトリに入ると思います。
この状態でCursorで接続できるように.cursor-serverディレクトリを作成します。
もし、作成権限がなかったら権限を与えてから作成します。
ssh remote-server
pwd # /home/test-user
# 必要に応じて実行
sudo chown -R test-user:test-user /home/test-user
mkdir .cursor-server
これでtest-userとして接続できるようになったかと思います。
この時点では当初の目的である、Cursorで別ユーザーで切り替えるということができていないので、次にその設定を実施します。
ここで一度、cursorにてリモート接続しておきましょう。
接続しないと別ユーザーでいきなり接続することはできません。
Cursorで接続時に別ユーザーに切り替える設定
Cursorでサーバーに接続する際にユーザーを切り替えるコマンドを実行します。
コマンドを実行するには、Cursorのグローバル設定に許可する設定を追加します。
{
"remote.SSH.useLocalServer": true,
"remote.SSH.enableRemoteCommand": true
}
次に冒頭で設定したsshのconfigにユーザーを切り替えるコマンドを追加します。
Host remote-server
HostName xxxxxxxx
User test-user
IdentityFile ~/.ssh/id_rsa
RemoteCommand su www-data # 追加
これで設定が全て完了しました。
CursorでリモートSSHで接続したら、www-dataでファイル操作ができるようになっているかと思います。
終わりに
CursorのリモートSSHで別ユーザーで接続できる設定の解説でした。
プロジェクトによって権限管理をしているところだと都度、www-dataやrootに切り替えないといけないようになっているかと思いますが、この設定でエディター上でもファイル操作ができるようになります。
Discussion