Hatena::Groupcside

Cside::StudyMemo このページをアンテナに追加 RSSフィード

メインブログに書くまでもない自分用メモを垂れ流す。日々是勉強也。

カテゴリー

2012-08-26

[]sshメモ

まず公開鍵認証でリモートサーバーに入れるように

  1. ssh-keygenで公開鍵と秘密鍵のペアを作る
  2. 作成した公開鍵をリモートサーバーのauthorized_keysに追加

このとき ~/.ssh は700, ~/.ssh/authorized_keys を600にするのを注意

ここまでは復習


次回からパスフレーズなしで入れるように(ssh-agent)

OpenSSHにssh-agentというものが付属しているのでそいつを使う。(WinのPuTTYでいうとpageantにあたるもの)

  1. ssh-agent起動
    • ssh-agent <YOUR SHELL NAME>
  2. 秘密鍵の登録
    • ssh-add ~/.ssh/id_rsa # 略すと勝手に探しだしてくれる
    • ssh-addは何をしているかというと、暗号化が解除された秘密鍵をメモリにストックし、以降のSSH接続では自動的にそっちを使用するようにしている
注意点

このとき注意すべきなのは、root 権限があればすべてのユーザーの UNIX ドメインにアクセス可能なことです。つまり、他人が root ユーザーとしてログインできるマシンでは ssh-agent は使うべきではありません。 ssh-agent による認証を簡単に悪用されてしまいます。

ssh-agent でパスフレーズの入力を省く - WebOS Goodies

ほう


エージェントフォワード

通常、 ssh でリモートサーバーに接続して、そこからさらに別の SSH サーバーに接続するには、リモートサーバーに秘密鍵を置かなければできないが、秘密鍵をあちら側に置かずにこれを可能にするのがエージェントフォワード機能。

ssh -A hostname で出来る。


sshで訳の分からない現象に出くわしたときは

とりあえず使ってる鍵が誰なのか見てみる

ssh -T git@...

あと、クライアント側、サーバー側ともにデバッグモードがある

# サーバー側
$ /usr/sbin/sshd -d

# クライアント側
$ ssh -v hostname

参考