🐟

Warpでリモートマシンのシェルがfishだとsshでエラーになる

2024/07/15に公開

背景

sshしようとするとエラーが出る。

ssh server
fish: Unsupported use of '='. In fish, please use 'set hook $(printf "{\"hook\": \"SSH\", \"value\": {\"socket_path\": \"~/.ssh/154\", \"remote_shell\": \"%s\"}}" "${SHELL##*/}" | command od -An -v -tx1 | command tr -d " \n")'.
hook=$(printf "{\"hook\": \"SSH\", \"value\": {\"socket_path\": \"~/.ssh/154\", \"remote_shell\": \"%s\"}}" "${SHELL##*/}" | command od -An -v -tx1 | command tr -d " \n")

結論

fishはまだサポートされてないので、Warpでsshしたいときはどちらかの方法が必要。

  1. リモートマシンをbashかzshに戻す
  2. Subshellsの設定をする
    Warpのときは、sshではなくcommand sshを実行できるようにする。

    上記の設定後にcommand ssh serverするとつなげる。

さいごに

issueの起票から2年以上経過してるので、サポートの優先度は低いのかもしれない。。

参考

https://github.com/warpdotdev/Warp/issues/871
https://github.com/warpdotdev/Warp/issues/4986

Discussion