自宅サーバ構築MY HOME SERVER
SSH接続のためのユーザー追加 クライアントから遠隔操作(ssh) クライアントPC側の設定 SSH公開鍵・秘密鍵作成 |
- SSH接続のためのユーザー追加 -
セキュリティの観点から、リモート接続はrootで直接ログインすることを禁止します。SSH接続用のユーザーを追加します。 この追加ユーザーはメールサーバ構築時のメールアカウントにもなります。
ユーザーの追加をします。
[root@hoge123 ~]# useradd hogehoge ← 任意のユーザー名を追加します。 [root@hoge123 ~]# passwd hogehoge New UNIX password: ← 任意のパスワードを入力します。 Retype new UNIX password:# ← 再入力します。 passwd: all authentication tokens updated successfully. |
- クライアントから遠隔操作(ssh) -
サーバ自身のコンソールで操作するのはここまでにします。クライアントPCから遠隔操作できるように 設定します。クライアント側で操作出来ると、サンプル設定画面を見ながら入力したり、コピー内容を 貼り付けたり出来るので、作業効率がダントツにアップします。
まずは、SSHサーバの設定します。[root@hoge123 ~]# vi /etc/ssh/sshd_config # 41行目付近で、先頭の#を削除します。 ( rootログイン禁止 ) PermitRootLogin no # 68行目付近で、先頭の#を削除します PermitEmptyPasswords no PasswordAuthentication yes |
SSHの設定を編集・保存します。
[root@hoge123 ~]# systemctl restart sshd.service |
- クライアントPC側の設定 -
クライアントPCはWin2000、WinXP、Vista、Win7のいづれでも構いません。 まずは、遠隔操作ソフトTeraTermProをインストールします。
ダウンロードサイト: Tera Term 4.73
インストールが終わったら、デスクトップのショートカットをクリックします。ホストにサーバのIPアドレスを入力てOKボタンを押します。
初回のみセキュリティ警告が出ますが、「このホストを.....」にチェックを入れて、「続行」ボタンを押します。
ユーザ名、パスワード(パスフレーズ)を入力してOKボタンを押します。(hogehogeがユーザ名です)
ログインが成功すると、以下の画面になります。ユーザ名hogehogeでログイン出来たところです。リモート操作で設定する場合、 管理者権限でログインする必要があるため、rootに切り替えます。
[hogehoge@hoge123 ~]$ su - ← su -i はroot(管理者)ログインするためのコマンドです。 Password : ← rootのパスワードを入力します。(何も表示されません) [root@hoge123 ~]# ← hogehogeからrootに変わりました。 |
管理者のパスワード入力欄が文字化けしている場合は、TereTermの設定を変更する必要があります。
[hogehoge@hoge123 ~]$ su - ← su - はroot(管理者)ログインするためのコマンドです。 |
Tera Term のメニューから「端末」を選択します。
「漢字-受信(K)」と 「漢字-送信(J)」がEUCになっています。両方ともプールダウンメニューからUTF-8に変更します。
UFT-8に変更したら、「OK」ボタンを押します。これで、文字化けは解消されます。
次回、ログイン時に文字化けしないように、設定を保存します。メニューバーの「設定」、「設定の保存」を選択します。
設定を保存します。
遠隔操作を終了するときはexitコマンドを使います。
[root@hoge123 ~]# exit ← rootからログアウトします。 [hogehoge@hoge123 ~]$ exit ← hogehogeからログアウトして、画面が消えます。 |
Tera Term を使用すると、viエディタを起動したとき、サンプル設定の内容等をコピーして貼り付けることが出来ます。 まずパソコン上の貼り付けたいテキスト文章をマウス操作でコピーします。viエディタに戻り、 i キー入力して編集モードにします。 画面右下にINSERTが表示されます。この状態で、Alt キーと V キーを押して貼り付けます。Esc キーを押すと編集モードから 抜けることが出来ます。貼り付けるとき、全角スペースや全角文字が無いように気をつけます。エラーの原因になります。
尚、ルータのポート22番を開放すると外部ドメインからサーバを遠隔操作できます。その際、ホストは取得したドメイン名を入力
することになります。SSHは暗号化通信のため、通信内容は簡単に解読されることはありません。
しかし、今の状態では22番ポート
を開放すると、パスワードさえわかれば誰でもサーバにログインできてしまいます。そのため公開鍵、秘密鍵を作成してセキュリティ
を一層強化する必要があります。22番ポート開放はあくまで外部ドメインからリモート操作が必要なときに行います。必要がなくなったら
ルータ側の22番ポートは閉じてください。
尚、ルータのポート開放の仕方は、
ウエブ上で検索すると、たくさん情報が出てきます。一応、このサイトでもルータのポート開放の
手順を説明しています。
- SSH公開鍵・秘密鍵作成 -
ここではすでにSSH接続が出来ていることを仮定して説明します。クライアントパソコンのTeratermで公開鍵と秘密鍵を作成し、公開鍵を サーバ側に転送します。クライアントパソコンはTeratermを使ってログインするとき、秘密鍵を使ってサーバにログインする設定にします。 これにより万が一、パスワードが第3者に漏れても、秘密鍵がない限り第3者はサーバにSSH接続できません。
Teratermのメニューから「設定」、「SSH鍵作成」を選択します。「RSA」を選択して、「生成」ボタンをクリックします。
「鍵のパスフレーズ」、「パスフレーズの確認」にhogehogeのパスワードを入力します。 「公開鍵の保存」をクリックします。
適当なフォルダを選択して、「保存」をクリックします。
「秘密鍵の保存」をクリックします。
先ほどと同じフォルダを選択して、「保存」をクリックします。
「キャンセル」ボタンをクリックします。
鍵を保存したフォルダを開き「id_rsa.pub」を右クリックして、「開く」を 選択します。
「notepad」を選択して、「OK」ボタンをクリックします。
内容を全て選択してコピーします。(ctrlキーとAキーを押すと全て選択します。ctrlキーとCキーを押すと選択した内容をコピーします)
SSHの設定を変更・保存します。一旦、ルート権限から抜けて、ssh接続をするユーザーに戻ります。
[root@hoge123 ~]# exit [hogehoge@hoge123 ~]$ mkdir .ssh [hogehoge@hoge123 ~]$ chmod 700 .ssh [hogehoge@hoge123 ~]$ cd .ssh [hogehoge@hoge123 .ssh]$ vi authorized_keys notepadでコピーした内容を貼り付けます。編集モードにしてから AltキーとVキーの両方を押して貼り付けます。 ssh-rsa ABCDEF3NzaC1yc2EAAAABIwAAAQEAttFsXpXMBCV3L1d3X0JPRIVDL5VyrPPfQ +8/GCgsds9Icgy3ZsWKrc4Q8ZaboX6K2v6m/+QdahJE/zuY5o2LVlgBMgAGaPZxgqbm1eh VIRK4ZL0vl0ecfa3z6urEKE6123kdHvxoNsQyItm9Mf7nAdplc13ZrVCbQLOqUjDZyGqlq UcefQC+ZY6IrQbMqYm3cdksSiIvi752JRe5n7D/CNgsGhWk1N2Goqrp6jvqFIBC9o5Zr/k kcJ+6zRYkPzDKXFo3nRYyEUdkws3kod+KHk1K8b6ruryeR3hmoxG8tuxAQgebT94hFkAfJ dkowKukdo2dkdkdlldltU1Iougkx1yFDnI1aqfw== hogehoge@hogepc [hogehoge@hoge123 .ssh]$ chmod 600 authorized_keys [hogehoge@hoge123 .ssh]$ su - ← root権限に戻ります。 Password : [root@hoge123 ~]# vi /etc/ssh/sshd_config 先頭の#を削除して yes を noに変更します。(通常パスワードの使用禁止(鍵方式に変更)) #PasswordAuthentication yes ↓ PasswordAuthentication no [root@hoge123 ~]# exit [hogehoge@hoge123 ~]$ exit ← 一旦Teratermを閉じます。 |
秘密鍵を使った Tere Term からのログイン方法です。保存したid_rsaのフォルダーがどこにあるか、確認してください。 Tera Term でログインするとき、秘密鍵のパスを指定するときに必要です。
ここは、いつもどおりの情報を入力します。「ユーザ名」、「パスフレーズ」入力後、「RSA/DSA鍵を使う」を選択して、「秘密鍵」ボタンを押します。
id_rsa(秘密鍵)を選択し、「開く」を押します。
「秘密鍵」にid_dsaのパス名入力されていることを確認して、「OK」ボタンを押します。これで秘密鍵を使用したログインができます。秘密鍵 無しではログインできなくなっています。