トップページ > インフォメーション

自宅サーバ構築MY HOME SERVER

クライアントから遠隔操作(ssh) クライアントPC側の設定 SSH公開鍵・秘密鍵作成

- クライアントから遠隔操作(ssh) -

サーバ自身のコンソールで操作するのはここまでにします。クライアントPCから遠隔操作できるように 設定します。クライアント側で操作出来ると、サンプル設定画面を見ながら入力したり、コピー内容を 貼り付けたり出来るので、作業効率がダントツにアップします。

まずは、サーバ側にSSHサーバ機能をインストール、設定します。
root@hoge123:~# aptitude -y install ssh

SSHの設定を編集・保存します。
root@hoge123:~# vi /etc/ssh/sshd_config

PermitRootLogin yes
↓ 以下の内容に変更します。管理者ログインを禁止します
PermitRootLogin no

設定を編集・保存したので、その値を有効にするためSSHを再起動します。
           
root@hoge123:~#service ssh restart ← sshサービスを再起動します。
ssh stop/waiting
ssh start/running, process 1230
root@hoge123:~# aptitude install sysv-rc-conf ← サービス管理ツールをインストールします
root@hoge123:~# sysv-rc-conf ssh on ← サーバ再起動時もsshが自動起動するように設定します。
root@hoge123:~# sysv-rc-conf -list|grep ssh ← sshサービスの状態を確認します。
ssh          2:on       3:on    4:on    5:on ← 自動起動する設定になっています。




- クライアントPC側の設定 -

クライアントPCはWin2000、WinXP、Vista、Win7のいづれでも構いません。 まずは、遠隔操作ソフトTeraTermProをインストールします。

ダウンロードサイト: Tera Term 4.73
インストールが終わったら、デスクトップのショートカットをクリックします。ホストにサーバのIPアドレスを入力てOKボタンを押します。



初回のみセキュリティ警告が出ますが、「このホストを.....」にチェックを入れて、「続行」ボタンを押します。



ユーザ名、パスワード(パスフレーズ)を入力してOKボタンを押します。(hogehogeがユーザ名です)



ログインが成功すると、以下の画面になります。ユーザ名hogehogeでログイン出来たところです。リモート操作で設定する場合、 管理者権限でログインする必要があるため、rootに切り替えます。
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Thu Jul  5 09:03:04 JST 2012

  System load:  0.08              Processes:           66
  Usage of /:   2.9% of 53.56GB   Users logged in:     0
  Memory usage: 1%                IP address for eth0: 192.168.0.3
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/

Last login: Wed Apr  4 23:33:10 2012 from 192.168.0.20
hogehoge@hoge123:~$ sudo -i ← sudo -i はroot(管理者)ログインするためのコマンドです。
[sudo] password for linuxfan: ← root(hogehoge)のパスワードを入力します。(何も表示されません)  
root@hoge123:~# ← hogehogeからrootに変わりました。



管理者のパスワード入力欄が文字化けしている場合は、TereTermの設定を変更する必要があります。
 
hogehoge@hoge123:~$ sudo -i ← su - はroot(管理者)ログインするためのコマンドです。
窿鴻ヮ: ← 文字化けしています。(一応、パスワード入力でログインは出来ます。)
root@hoge123:~# ← hogehogeから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$ sudo -i
[sudo] password for hogehoge:
root@hoge123:~# vi /etc/ssh/sshd_config

先頭の#を削除して yes を noに変更します。(通常パスワードの使用禁止(鍵方式に変更))
#PasswordAuthentication yes
        ↓
PasswordAuthentication no

root@hoge123:~# service ssh restart 
root@hoge123:~# exit
hogehoge@hoge123:~$ exit ← 一旦Teratermを閉じます。

秘密鍵を使った Tere Term からのログイン方法です。保存したid_rsaのフォルダーがどこにあるか、確認してください。 Tera Term でログインするとき、秘密鍵のパスを指定するときに必要です。

ここは、いつもどおりの情報を入力します。


「ユーザ名」、「パスフレーズ」入力後、「RSA/DSA鍵を使う」を選択して、「秘密鍵」ボタンを押します。


id_rsa(秘密鍵)を選択し、「開く」を押します。


「秘密鍵」にid_dsaのパス名入力されていることを確認して、「OK」ボタンを押します。これで秘密鍵を使用したログインができます。秘密鍵 無しではログインできなくなっています。


自宅サーバ構築(Ubuntu12.04TLS)に戻る


Copyright(C) PCDEMAGIC All Rights Reserved.