トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

UNIX/Linux Knowledge

SSH

http://www.openssh.com/
http://www.openssh.com/ja/

インストール

 Vine Linux は標準でインストールされますが、Debian GNU/Linux のパッケージ管理システム apt でインストールする際は、

# apt-get install ssh

としたあと、いくつか質問がされますが、

  • SSH1/SSH2 両サポートとする
  • デーモンとして起動する

ようにしてください。

サーバとしての設定

/etc/ssh/sshd_config

チャレンジアンドレスポンス認証を有効にする

 以下の部分を変更します。

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

となっている部分を

# Change to no to disable s/key passwords
ChallengeResponseAuthentication yes
#ChallengeResponseAuthentication no

と変更して sshd を再起動してください。

root ユーザのリモートログインを許可する

 以下の部分を変更します。

PermitRootLogin no

となっている部分を

PermitRootLogin yes

と変更して、sshd を再起動してください。

リモートホストにパスワードなしでログインする

 主に rsync などを cron で運用する際、root ユーザーでローカルホストからリモートホストにパスワードなしでログインできる環境を設定します。

 ただし、この設定は秘密鍵などが盗まれるなどの事態が起こった場合、甚大な被害を被る可能性があります。この設定を行う際は、十分にセキュリティーを確保した環境で行うようにして下さい。

root ユーザーで SSH を可能にする

 ローカルホストでの作業より始めます。まずは root ユーザーで SSH ログインが可能な設定になっているかを確認してください。

 /etc/ssh/sshd_config のに以下の設定が記載されているか確認してください。

PermitRootLogin yes

秘密鍵・公開鍵のペアを作成する

 以下のコマンドでパスフレーズが空の秘密鍵、公開鍵のペアを作成します*1

ssh-keygen -t dsa -N "" -f /root/.ssh/sshkey

 以上のコマンドを実行すると、/root/.ssh/ 以下に sshkey (秘密鍵)、 sshkey.pub (公開鍵)が生成されます。

リモートホストに公開鍵を転送して追加する

 次にローカルホストで作成した公開鍵 (sshkey.pub) を scp やリムーバブルメディアを使ってリモートホストに転送します。

 リモートホストに root ユーザでログインし、転送した公開鍵が /root/.ssh/sshkey.pub として、以下のコマンドを実行します。

cat /root/.ssh/sshkey.pub >> /root/.ssh/authorized_keys

 以上の設定が終わると、ローカルホストから root ユーザで、以下のように秘密鍵を指定して ssh を実行するとパスワードを問い合わせられることなく、リモートホストにログインできるようになります。

ssh -i /root/.ssh/sshkey root@remotehost.local

 秘密鍵、公開鍵を保存するディレクトリを変更すれば、他のユーザーでも同様のことができるはずです。

 ただし、繰り返しになりますが、秘密鍵が盗まれるなどの事態が起こった場合、セキュリティー的に大きな穴を作ることになります。

 この設定は、十分にセキュリティーが確保された環境で行うようにしてください。

リンク集



*1 root ユーザにて実施してください

© 2004-2011 Ellinikonblue.com All Rights Reserved.