Top / Network / ssh

sshって

サーバへのリモートログインは、データが平文で流れるTelnetよりもsshを使うのがよいです。またsshはパスワードによるログイン認証だけでなく、公開鍵暗号方式を用いたログイン認証もできて、よりセキュアです。

やってみる

実際にFedora7で、公開鍵暗号方式のsshログイン環境を作ってみます。

[hoge@www ~]$ ssh-keygen  -t rsa  <- RSA暗号方式のキーペア作成
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):  <-パスワード(パスフレーズ)を入力
Enter same passphrase again:
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx;............................... hoge@www.fuga.com

キーペアが作成されました。公開鍵の方(id_rsa.pub)はリネームしてサーバにおいておきます。秘密鍵の方は安全な方法でクライアントに持ってくることにします*1

[hoge@www ~]$ cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys
        ↑authorized_keysという名前にリネーム
[hoge@www ~]$ cd  ~/.ssh/
[hoge@www .ssh]$ ls -lrt
合計 16
-rw-r--r-- 1 hoge hoge  406 2008-04-04 00:37 id_rsa.pub
-rw------- 1 hoge hoge 1743 2008-04-04 00:37 id_rsa <-秘密鍵
-rw-rw-r-- 1 hoge hoge  406 2008-04-04 00:49 authorized_keys <-公開鍵
[hoge@www .ssh]$ chmod 600 authorized_keys
[hoge@www .ssh]$ rm id_rsa.pub
[hoge@www .ssh]$ ls -lrt
-rw------- 1 hoge hoge 1743 2008-04-04 00:37 id_rsa
-rw------- 1 hoge hoge  406 2008-04-04 00:49 authorized_keys
[hoge@www .ssh]$

クライアントに秘密鍵(id_rsa)を安全に転送したら、サーバ上のid_rsaは削除しておきます。

では実際にTeratermなどでつないでみます。通常はTeratermでID/PASSを入力していましたが、IDと先に指定したパスフレーズ、秘密鍵ファイルを指定してログインすればOKです。

pic.png

RSAによるログインが失敗する場合は /etc/ssh/sshd_config に

RSAAuthentication yes

を追加してみてください。また、ついでにパスワードによるログインをできないようにするには

PasswordAuthentication no

としておけばOKです。

TIPS集

sshでrootをログインできなくする

/etc/ssh/sshd_config に

PermitRootLogin no

を追加。で

/etc/init.d/sshd restart

でリスタート。

パスフレーズを変更する

 [hoge@www ~]$ ssh-keygen -p -f id_rsa

引数の-f以降を指定しない場合は、

 ~/.ssh/id_rsa

となります。


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / Network / ssh

現在のアクセス:7258


*1 本来の目的からすると、クライアントでキーペア作って、サーバに公開鍵を転送するのが正しいですね

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS