SSHの設定
SSHはデフォルトでも活用できますが、公開鍵、秘密鍵を使った認証や、ユーザーごとのアクセス制限などを紹介します。
鍵認証をするためにSSHのクライアントの鍵を作成します。
鍵セットの作成
RSA1
$ ssh-keygen -t rsa1
RSA2
$ ssh-keygen -t rsa
DSA
$ ssh-keygen -t dsa
どれも作成するときにパスフレーズを聞かれます。
このパスフレーズを何も入力しないでエンターを押すと、パスフレーズなしの認証ができます(sshd_config の設定を変更する必要もある)
ここで作成した鍵セット(秘密鍵、公開鍵)はホームディレクトリの「.ssh」というディレクトリに作成されます。
各鍵の名前は以下の通り
RSA1
秘密鍵 : identity
公開鍵 : identity.pub
RSA2
秘密鍵 : id_rsa
公開鍵 : id_rsa.pub
DSA
秘密鍵 : id_dsa
公開鍵 : id_dsa.pub
特に指定がない限りDSAで作ったほうがいいですが、(RSAだとライセンスがどうたららしい、よくわからんが) Windows のSSHクライアントのTeraTermなどはRSA1しか対応していません。
作成したら、SSHサーバーに公開鍵をセットします。
SSHサーバーにもホームディレクトリに「.ssh」というディレクトリを作成し、そこに「authorized_keys」というファイルを作成し、流し込みます。
$ cat id_dsa.pub >> authorized_keys
もし、authorized_keys を初めて作成するようであれば、id_dsa.pub をリネームしちゃえばいいです。
authorized_keys をつくったら、必ずパーミッションを変更します。これをしないと認証してくれません。
$ chmod 600 authorized_keys
鍵の作成は完了したので、SSHサーバーの設定をします。
/etc/ssh/sshd_config
#デフォルトでRSAもDSAもOKになっている
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
#鍵認証する場合はコメントを外し、noにする
PasswordAuthentication no
#パスフレーズなしで認証をする場合はコメントを外し、yesにする
PermitEmptyPasswords yes
これで、鍵を使った認証を行うようになります。
SSHのその他の設定
/etc/ssh/sshd_config
#ルートのログインを許可しない場合はコメント外してno
PermitRootLogin no
#特定のユーザーしかログインさせない(複数はスペース区切り)
AllowUsers kazan arc
#特定のユーザーだけログインさせない(複数はスペース区切り)
DenyUsers kazan
#特定のグループしかログインさせない(複数はスペース区切り)
AllowGroups scoutroll
#特定のグループだけログインさせない(複数はスペース区切り)
DenyGroups scoutroll
SCPの使いかた。
SCPとはSecureCopyの略で、SSHを使ってファイルをリモートに転送できます。
SCP
$ scp ファイル名 192.168.1.10:~/