OpenSSH を有効にする

インストール時に OpenSSH を有効にしなかった場合は下記のようにして sshd を起動する。

# vi /etc/rc.conf

sshd_enable="YES"

# /etc/rc.d/sshd start

秘密鍵と公開鍵の準備

パスワード認証だとブルートフォースアタックを受けた際に破られてしまう恐れがあるので鍵認証方式で遠隔操作します。

一般ユーザーで公開鍵と秘密鍵を作成する

まずは一般ユーザーで公開鍵と秘密鍵を作ります。
root ユーザーで作らないように注意してください。

% ssh-keygen
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): (リターン)
Enter passphrase (empty for no passphrase): (パスフレーズを入力)
Enter same passphrase again: (再度同じパスフレーズを入力)
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx user@local

% mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
% chmod 600 ~/.ssh/authorized_keys

この作業を行った後、秘密鍵 ( id_rsa ) を遠隔操作するクライアントに安全な方法で移します。

サーバーに残っている秘密鍵を削除する

秘密鍵がいくつもあるのは好ましくないので、サーバーに残っている秘密鍵を削除します。

% rm ~/.ssh/id_rsa

サーバの設定

上記で鍵認証の為の公開鍵、秘密鍵を作成したので、今度はそれを有効にするためにサーバの設定を変更します。
下記に設定項目の例を晒しておくのでご参考ください。各設定項目の意味はこちらをご覧ください。

# vi /etc/ssh/sshd_config

Port 22
Protocol 2
AddressFamily inet
ListenAddress 192.168.1.100

LoginGraceTime 30
PermitRootLogin no
StrictModes yes
MaxAuthTries 3

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication no
PermitEmptyPasswords no

ChallengeResponseAuthentication no

AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
TCPKeepAlive yes
UseLogin no
UsePrivilegeSeparation yes
PermitUserEnvironment no
Compression delayed
ClientAliveInterval 10
ClientAliveCountMax 6
MaxStartups 2:80:5
PermitTunnel no

AllowUsers user

再起動

設定や鍵認証等を有効にする為、再起動します。

# /etc/rc.d/sshd restart