しいしせねっとわーく
[ネットワーク編] [Linuxメモ] [SSL/TLS/PKIの基礎知識] [SSHの基礎知識]

Linux SSHメモ

SSHの基礎知識?

telnet時代はしばらく前に終わり、セキュリティの強化されたSSHが使えるようになっています。SSHは、公開鍵暗号を使い認証をすることができ、通信経路も暗号化されます。
Vine LinuxではOpenSSHがそのまま使えるようにインストールされているようなので、サーバ側の設定、クライアント側の使い方など?

inetd.conf の 22番ポートを開けるだけなんですけどね。
んん、chkconfigでsshdを起動するようにしておくほうがいいのかな・・・?

サーバを立てるときなどは、telnetにセキュリティホールが見つかっていることなどもあり、telnetdを使えないようにしてSSHに変えておくと良いようです。

各種設定

SSHの初期状態では、リモートからもrootアカウントで直接ログインできるなど、あまり安全ではない設定になっています。
この設定を変えるには、/etc/ssh/sshd_config をいろいろと変更します。

# root のリモートログインを不可にする (推奨)
PermitRootLogin no
# パスワード認証を不可にする
PasswordAuthentication no

設定が終われば

# service sshd restart

で再起動すればいいのかな。

Windowsクライアントからの接続

[SSHの基礎知識]に書いてます。

Linuxのクライアントを使う

$ ssh -l account servername [ -p port ]

で、とりあえず目的のサーバに接続することが出来ます。
最初の接続では、キーをどうするか聞いてきます。

種類

SSHには、SSH1とSSH2の2種類のプロトコルががあります。

公開鍵/秘密鍵を使った接続

基本的に、クライアント側で秘密鍵/公開鍵を生成して、公開鍵をサーバ側にコピーしましょう。

  PuTTY OpenSSH 概要
DSA RSA
秘密鍵 *.PPK ~/.ssh/id_dsa ~/.ssh/id_rsa クライアント側で必要(パスワードで保護する)
公開鍵 *.pub ~/.ssh/id_dsa.pub ~/.ssh/id_rsa.pub クライアント側公開鍵
信頼   ~/.ssh/authorized_keys サーバが信頼する相手の公開鍵の一覧
    ~/.ssh/known_hosts

信頼した接続相手PCの公開鍵

最初に、秘密鍵と公開鍵のペアを作ります。この2つの鍵は、サーバ側とクライアント側で別々に管理します。秘密鍵は、他人に知られないようにパスワードをかけて保護します。サーバはこの鍵を使って利用者を認証します。

鍵の生成(Linux OpenSSHの場合)

  1. ssh-keygen -t rsa (鍵の種類を指定する?)
  2. ~/.ssh/id_rsa が秘密鍵 ~/.ssh/id_rsa.pub が公開鍵

鍵の変換

メモ程度に

IETF SECSH key file

-----BEGIN SSH2 PUBLIC KEY-----

SSHの使えるソフト

Eclipse CVS
Dreamweaver + PuTTY

ssh-agent で自動ログイン

ssh-agent を起動させると、export うにうにが表示されるので、そのまま入力して環境変数を設定します。

ssh-add で、パスワードを一度入力すると、次からは同じパスワードを入力せずに済みます。ssh-add -l で一覧を見ることができ、ssh-add -d で消すことができます。 ssh-agent を終了させると使えなくなります。ssh-agentはユーザごとに1つ起動します。

ssh-agentを使うことで、cvsなどの利用が楽になります。

参考


[しいしせねっと]