僕のYak Shavingは終わらない

車輪の再発明をやめたらそこには壮大なYakの群れが

踏み台を忘れるためのsshコマンド or config

今回は「一々踏み台なんて行ってられねーよ!」って人のためのTipsをまとめて見ました。
内容的にはものすごく既視感あると思います。

.ssh/configの設定

コマンドラインからサーバーにログインする時って、大抵は

$ ssh oreore@fumidai

ってやってから

[oreore@fumidai ~]$ ssh oreore@mokutekino-server

とかやっていると思います。でもこれだと文字も長いし、コマンドも2回叩かないと行けないので簡略化しましょう。
まず、ローカル環境の~/.sshに移動してもらい、configファイルを作成しましょう。

$ cd ~/.ssh
$ vi config

そして以下のように入力します。

# 踏み台サーバー
Host fumidai
  HostName fumidai
  Port 22
  User oreore # 自分のユーザー名と入れ替え
  IdentityFile ~/.ssh/id_rsa # 自分のローカルの鍵と入れ替え 

# 踏み台後に入りたいサーバー Hostは適当に書き換える
Host mokutekino-server
  HostName mokutekino-server
  User root
  Port 22
  ProxyCommand ssh -W %h:%p fumidai

これを保存しターミナルで以下の用に入力すると入れます。

$ ssh mokutekino-server
[root@mokutekino-server ~]#

netcatを使う方法もあるようですが、今はssh -Wオプションだけでいけるようです。

簡単ですね。

その他コマンドで一発で入る

こんなんや、

$ ssh -t fumidai “ssh root@mokutekino-server”

こんなんでも一発で目的のサーバーに入れます。

$ ssh -oProxyCommand=’ssh -W %h:%p fumidai’ root@mokutekino-server

※configでfumidaiが設定してある場合を想定

例えばsshでログだけ見たい

$ ssh -oProxyCommand=’ssh -W %h:%p fumidai’ root@mokutekino-server “tail -f /var/log/yourappname/httpd/access.log”

こんな感じで、直でログもテイルできます。
ローカルでのshellscriptでアクセス解析とかしたいときなども活用できるのではないでしょうか?(やるかわからないけど

まとめ

まあ自分用のメモでした。

こういうconfigはチームで共有していると捗りそうですね。

ではでは