Kawatabの技術メモ

主にLinuxを中心としたコンピュータ関連の技術情報を公開しています。 (English | Magyar | 日本語)

Network

ssh

必要なパッケージ

サーバ

openssh-server

クライアント

openssh-client

サーバの設定

/etc/ssh/sshd_config

/etc/ssh/sshd_configに以下の変更を加える。

Port 22                                     # ポート番号は適当に物に書き換える。
PermitRootLogin no                          #rootユーザはログインできないようにする。
AuthorizedKeyFile %h/.ssh/authorized_keys   #コメントを外す。
DenyUsers ALL                               #追加
Allowusers your_name                        #追加

変更したら

# invoke-rc.d ssh restart

を実行する。

キーの作成

$ ssh-keygen

manには次のように書かれているので、オプションは要らない。

ssh-keygen generates, manages and converts authentication keys for ssh(1). ssh-keygen can create RSA keys for use by SSH protocol version 1 and DSA, ECDSA or RSA keys for use by SSH protocol version 2. The type of key to be generated is specified with the -t option. If invoked without any arguments, ssh-keygen will generate an RSA key for use in SSH protocol 2 connections.

具体的には

$ ssh-keygen$ cat .ssh/id_rsa.pub > .ssh/authorized_keys

でOK。ssh-keygenの実行時には保存場所の確認とパスワードの入力が必要。公開鍵(id_rsa.pub)は~/.ssh/authorized_keysに書き込む。パーミッションは600。

クライアントの設定

秘密鍵(id_rsa)をネットワークを介さない方法でコピーする。

Linuxからアクセスする場合
$ ssh -p [ポート番号] -i [秘密鍵] [ユーザ名]@[ipアドレス]