4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pecoでSSH - AWS EC2に入れてみた

Posted at

まえがき

踏み台サーバーのEC2からいろいろなサーバーへSSH接続するときのTipsです。pecoを使ってHost名をインクリメンタルサーチし、EnterひとつでSSH接続できるようにしましょう。

.ssh/configを設定する

.ssh/configを使うメリットなどは以下を参考にしてください。
https://qiita.com/passol78/items/2ad123e39efeb1a5286b
例えば、以下のように.ssh/configを作成します。

Host dev-machine01
HostName 52.192.64.xxx
User ec2-user
IdentityFile ~/.ssh/dev-machine.key

Host dev-machine02
HostName 52.192.64.yyy
User ec2-user
IdentityFile ~/.ssh/dev-machine.key

すると、踏み台サーバーで

ssh dev-machine01

とコマンドを打つだけで52.192.64.xxxへSSH接続できます。

多少は便利になりましたが、Host名を覚えておかなければいけないのは大変です。そこでpecoを利用してHost名をインクリメンタルサーチできるようにしましょう。

pecoをインストールする

wgetを使ってインストールする。

wget https://github.com/peco/peco/releases/download/v0.5.2/peco_linux_amd64.tar.gz
tar xvfz peco_linux_amd64.tar.gz
cd peco_linux_amd64
chmod 100 peco
sudo mv peco /usr/local/bin/
rm -r peco_linux_amd64 peco_linux_amd64.tar.gz

pecoがインストールできたら以下のコマンドで.ssh/configの中からHost名をインクリメンタルサーチしてみましょう。

grep -w Host .ssh/config | peco

image.png
こんな感じになれば成功です。

aliasを設定する

最後にHost名をインクリメンタルサーチし、EnterひとつでSSH接続するコマンドにaliasを設定しましょう。~/.bashrcに以下を書き込みます。

alias s='ssh $(grep -w Host ~/.ssh/config | awk '\''{print $2}'\'' | peco)'
source ~/.bashrc

で再読み込みして、sというコマンドが打てれば成功です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?