SSHはちゃんとconfigしておくと便利
SSHを使うときはちゃんとconfig書いておきなよ,って偉い人が言っていました.現在日常的に使えている範囲のことをメモしておきます.ほんの少し,簡単な記述を行うだけで手数が圧倒的に減ります.
これらの設定は,SFTPを利用する際にも適用されるので便利です.多段SFTPが必要なときは,他のひとの端末に以下の設定を仕込むことがあります.そのとき,端末の利用者はTransmit等のGUIのFTPクライアントを利用します.
sshと,~/.ssh/config
まったくプレーンなSSH
% ssh 192.168.0.1 -l username
自分の.ssh/configを編集
% emacs ~/.ssh/config
ホスト名のエイリアスとポートの指定
Host myserver HostName 192.168.0.1 Port 22 % ssh username@myserver
ユーザー名も省略しちゃう
Host myserver HostName 192.168.0.1 Port 22 User username % ssh myserver
多段SSH (よく言って踏み台)
Host myserver HostName 192.168.0.1 ProxyCommand ssh humidaiuser@humidai nc %h %p % ssh username@myserver
上の設定で,自端末でmyserverにSSHすると,暗黙でhumidaiuserでhumidaiサーバーにログインしてから,humidai経由でmyserverに接続されます.
client → humidai → myserver という経路になります.踏み台とか,カコイイ.
追記: sshを使いこなすための7つの設定 - 射撃しつつ前転 で紹介されてる内容が,目から鱗( Д ) ゚ ゚だったので,併せてURLを紹介しときます.コネクションの使い回しとか,認証鍵の指定とかいろいろ.
認証鍵の取り扱い周り
SSHする際のパスワード入力をサボれるようにすると,もっとラクになります.サーバー側のauthorized_keysに,自分の公開鍵を追加するだけです.取り扱いは自己責任で.
ssh-keygenとかssh-addとか,cat >> authorized_keysとか
id_rsa以外で認証鍵を作成
% ssh-keygen -f my_key Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in my_key.. Your public key has been saved in my_key.pub. The key fingerprint is:....
任意の認証鍵をssh-agentに追加
% ssh-add ~/.ssh/my_key
現在,ssh-agentが抱えている鍵を確認
% ssh-add -L
authorized_keysに公開鍵を追加
※誤って既存の鍵を壊してしまうことは防げるが,>が1つになると惨事になるので要注意
サーバーにmy_key.pubをあげておいて % cat my_key.pub >> authorized_keys または,クリップボードにいれておいて % cat >> authorized_keys (paste)