2011年12月25日日曜日

SSHによるリモート接続設定

いつも使っているのだが、ついつい忘れがちな設定方法をメモする。

sshdによるファイル転送を行うため、Linux(SVR)側で設定内容を確認する。

アクセスの制限
/etc/hosts.allow にアクセスを許可先を設定。
sshd: 127.0.0.1 192.168.0. 192.168.1.
/etc/hosts.deny にアクセスを拒否先を設定。
sshd: ALL
/etc/ssh/sshd_configの編集
#Port 22
#■ポート番号を変更しても良い 例) 2222等

#Protocol 2,1
#↓■SSH 2 のみ接続を許可
Protocol 2

#PermitRootLogin yes
#↓■rootでのログインを禁止
PermitRootLogin no

#↓■パスワード方式ログインで設定する場合、パスワードでのログインを許可
PasswordAuthentication yes
#↓■鍵方式ログインで設定する場合、パスワードでのログインを拒否 PasswordAuthentication no #↓■ 空パスワードの禁止 PermitEmptyPasswords no

【ログイン方式で鍵方式を設定した場合】 手順は下記の2通り考えられます。サーバーとクライアントが身近な(同一建物)場合は【手順1】で行い、ネットワークでの転送が必要な場合には、【手順2】が良いかも...
【手順1】でネットワークを経由で転送も方法を考慮すれば問題ないかもね。(キーをパスワード付きで圧縮して送り、パスワードは別手段で伝える)
ここでは、公開鍵・秘密鍵ともにデフォルトの値(名前)を使用して説明します。(鍵の生成時の名前(鍵名)は好きな名称をつけることが可能)
デフォルトでは、公開鍵(id_rsa.pub)・秘密鍵(id_rsa)になります。

【手順1】

  1. サーバーでログイン方法(sshd_confing)の設定を行う。
  2. サーバーでクライアントの秘密鍵と公開鍵のペアを作成する。
    ※作成された公開鍵は、~/.ssh/authorized_keys に追加する。
    ■authorized_keysがない場合
    $ cat ~/.ssh/id_rsa.pub > authorized_keys
    ■authorized_keysがある場合
    $ cat ~/.ssh/id_rsa.pub >> authorized_keys
    
    ※登録したら、作成した id_rsa.pub(公開鍵)は削除します。
    
  3. 作成された秘密鍵(id_rsa)をクライアント(PC)へコピーする。
  4. クライアント(PC)がSSHクライアントで公開鍵による認証を行うように設定する。
【手順2】
  1. クライアントで秘密鍵と公開鍵のペアを作成する。
  2. 作成した公開鍵をサーバーに登録する。
    登録先は、ユーザーディレクトリのauthorized_keysに鍵を追加。
    ※この時は、パスワード認証で鍵を送る。(または、別方法)
  3. SSHサーバーのログイン方法を公開鍵暗号でのログインに変更する。
  4. クライアント(PC)がSSHクライアントで公開鍵による認証を行うように設定する。

■鍵の作成方法
Linuxでの鍵の作成(Mac OS X Lion もほぼ同様です。)
$ ssh-keygen -t rsa
[hoge@hoge01 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): ←そのまま[Enter]を押す。(鍵名と鍵の格納先フォルダ)
Created directory '/home/hoge/.ssh'.
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:
b7:7b:f2:83:0b:da:6c:57:9a:51:93:4e:04:9a:b2:5f hoge@hoge01
[hoge@hoge01 ~]$

Windowsでの鍵の作成(WindowsXp TeraTerm Pro)
  1. TeraTermProを起動して、Cancelを選択して接続画面を閉じる。
  2. メニューの「設定」を選択して「SSH鍵の生成」を選択(クリック)します。
  3. 鍵の生成画面が開いたら(鍵:RSA、ビット数:2048)、そのまま「生成」ボタンを押します。
  4. 鍵の生成が完了すると「鍵を生成しました」と表示され、パスワードが入力可能の状態になります。
  5. パスワードを入力して「公開鍵の保存」を押す。
  6. パスワードを入力して「秘密鍵の保存」を押す。
上記で鍵を作成したら、秘密鍵はクライアントに保存し、公開鍵はサーバーのユーザー所定のディレクトリの authorized_keys に登録する。(なければ作成、あれば追記する。)

実際に確認してみると大した事ないのだが... (^_^)

0 件のコメント:

コメントを投稿