0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

fzf と ~/.ssh/config で SSH 接続先をあいまい検索して爆速接続する

0
Last updated at Posted at 2026-07-08

SSH 接続先を fzf で選びたい

自分は、SSH の接続先を基本的に全部 ~/.ssh/config に書いている。

そうしていると、~/.ssh/config の中に Host がどんどん増えていく。

dev-server だったか、dev-app だったか。短い名前ならまだいいけど、似た名前が増えると普通に探しづらい。

そこで ~/.ssh/config に書いてある Hostfzf で選んで、そのまま SSH できるようにした。

たとえば、これまでこう打っていたものを、

ssh dev-server

こうできる。

sshi

fzfでSSH接続先を選ぶ

sshi を実行すると、~/.ssh/config に登録済みの Host が一覧表示される。あとは fzf で数文字入力して、Enter で接続する。

小さい alias だけど、~/.ssh/config の中から接続先を探す時間が減る。

セットアップ

必要なツール

使うのはこの3つ。

必要なもの 役割
~/.ssh/config SSH の接続先一覧として使う
fzf 接続先をインクリメンタルサーチする
alias Host を取り出して SSH する

この記事では ~/.ssh/config の書き方は扱わない。すでに ssh dev-server のように Host 名で SSH できている前提。

fzf を入れる

macOS なら Homebrew で入れる。

brew install fzf
fzf --version

alias を追加する

~/.zshrc などに以下を追加する。

alias sshl="cat ~/.ssh/config | grep '^Host ' | sed -e 's/^Host //g'"
alias sshi="sshl | fzf | xargs -I{} sh -c 'ssh {} </dev/tty' ssh"

追加したら、設定を読み込み直す。

source ~/.zshrc

これで sshi が使える。

sshl は、~/.ssh/config から Host だけを取り出すための alias。

sshl

sshlでSSH接続先を一覧表示する

sshlHost で始まる行を拾って、先頭の Host だけ削っている。

sshi は、その一覧を fzf に渡して、選んだ Host に ssh する。

使ってみて

SSH の接続先を必ず ~/.ssh/config に書く運用だと、Host の数は自然に増えていく。

そういう人なら、sshi で一覧から絞り込めるだけでもだいぶ楽になる。~/.ssh/config を開いて Host 名を探す回数も減る。

逆に、接続先が少ないなら普通に ssh host-name と打つほうが早い。fzf も別途必要なので、誰にでも入れておくものではないと思う。

自分は、SSH の接続先を ~/.ssh/config に書いて、この alias で選ぶ形にしている。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?