.. _remote_ssh: === SSH === .. contents:: 目次 :local: :depth: 2 .. _remote_ssh_basics: 基本情報 ======== 全学SSHゲートウェイサーバを経由することで,学外から学内のネットワークに SSH (Secure SHell) による暗号化された通信路で接続することができます. +----------------+----------------------+ | **サーバ名** | ssh.cc.uec.ac.jp | +----------------+----------------------+ | **認証方式** | 公開鍵暗号方式 | +----------------+----------------------+ このサーバへアクセスするには,SSHの公開鍵を予め `SSH公開鍵 登録システム `_ から登録してください. .. caution:: - 本サーバは ssh ログイン中継以外の用途では使用しないでください. - 中継専用のため,設定ファイル等の小さなテキストファイル以外は置くことが出来ないよう容量制限がかかっております. .. danger:: 小さなテキストファイル以外を保存すると,正しく動作しないことがあります. その場合は,ファイルを削除してください. .. _remote_ssh_basics_authtype: ログイン(認証)の種類 ---------------------- SSH によるログイン(認証)方法には, - `パスワードによるログイン`_ - `鍵ペア(公開鍵と秘密鍵)によるログイン`_ の2つがあります. **原則,鍵ペアによる方法を使用してください.** .. note:: 今後,学外から学内へのアクセスは,段階的に **鍵ペアによる認証のみとする** 計画です. .. _remote_ssh_basics_requredapps: 必要なソフトウェア ------------------ .. 代表的な Windows 用 SSH クライアントソフトウェアとして, .. `PuTTY `_ や .. `Tera Term `_ があります.また, UNIX, macOS, Windows などのOSでは, ``ssh`` コマンドが使用できます. .. hint:: 一部OSでは標準で ``ssh`` コマンドが使用できない場合があります. その場合は,各OSのマニュアル等を参考に,インストールしてください. .. _remote_ssh_password: パスワードによるログイン ======================== ここでは,パスワードによるログイン方法として - OpenSSH の ``ssh`` コマンドによる方法 (UNIX, macOS, Windows10以降) を解説します OpenSSH等 の ``ssh`` コマンド (UNIX, macOS, Windows10以降) ---------------------------------------------------------- 1. 端末プログラム (xterm, kterm, gnome-terminal, ターミナル など) を起動します. 2. サーバ接続と認証を行います. 以下のように ``ssh`` コマンドを入力してください. .. code-block:: bash ssh UECアカウント名@ssh.cc.uec.ac.jp 3. UEC アカウントのパスワードを要求されるので入力して下さい. .. note:: ログアウト(接続を解除)をするには ``exit`` コマンドを実行して下さい. ウインドウが閉じない場合は、右上の「x」をクリックするなどしてください. .. _remote_ssh_keypair: 鍵ペア(公開鍵と秘密鍵)によるログイン ====================================== .. _remote_ssh_keypair_flow: 基本的な流れ ------------ **公開鍵** と **秘密鍵** の組(鍵ペア)を生成します. **公開鍵** をログイン先のシステム(Sol)に登録した上で,認証時に **秘密鍵** をログイン元の PC で参照することで鍵の照合が行われます. .. warning:: **秘密鍵** は絶対に他者に知られないように厳重に管理してください. 秘密鍵を他者に知られた恐れがある場合は,本手順で鍵ペアを再生成,再登録して下さい. **公開鍵** は他者に知られても鍵ペアの仕組み上問題はありませんが,信頼できるサーバにのみ登録することをおすすめします. .. _remote_ssh_keypair_genkeypair: 鍵ペアの生成と登録 ------------------ .. _remote_ssh_keypair_genkeypair_genkeysystem: SSH公開鍵 登録システム ^^^^^^^^^^^^^^^^^^^^^^ `SSH公開鍵 登録システム `_ ( **UECアカウントによる統合認証ログインが必要** )にて鍵ペアの作成,及び登録を行うことができます. ログイン後は以下の3種類の操作を行うことができます. * 鍵を自動生成する 場合 1. :guilabel:`自動生成` > :guilabel:`確認画面` > :guilabel:`秘密鍵のダウンロード` > :guilabel:`登録・更新` > :guilabel:`終了` と進む. 2. 端末のダウンロードフォルダに ``uec_rsa_key`` がダウンロードされるので, ``.ssh`` ディレクトリ配下に置く. +-------------------+----------------------------------+ | **Windows10以降** | ``C:\Users\【ユーザー名】\.ssh`` | +-------------------+----------------------------------+ | **Linux** | ``~/.ssh`` | +-------------------+----------------------------------+ 3. 公開鍵は ``ssh.cc.uec.ac.jp`` 及び ``sol.cc.uec.ac.jp`` に自動で登録されます. .. note:: 反映までには時間がかかります.予めご了承ください. サーバ側の ``~/.ssh`` とは別に登録されるため,既に設定いただいている秘密鍵・公開鍵もご利用いただけます. 4. ``.ssh`` 配下に ``config`` を作成を行います. 書き方については次の通りです. .. code-block:: Host <任意の名前> HostName ssh.cc.uec.ac.jp User IdentityFile <秘密鍵があるPATH> .. note:: ``<>`` で囲われた部分につきましては,それぞれの情報をお書きください. また, ``<`` と ``>`` は記入しないでください. ``任意の名前`` は半角英数字で設定できます. .. caution:: ファイル名は ``config`` です. ``config.txt`` 等の拡張子がつかない状態である事をご確認ください. 設定例は次の通りです. .. code-block:: Host uec HostName ssh.cc.uec.ac.jp User xa000000 IdentityFile ~/.ssh/uec_rsa_key 5. 端末のプログラム(xterm,kterm,gnome-terminal, ターミナル, PowerSHell, コマンドプロンプト等)を開き, ``ssh`` コマンドを実行します. .. code-block:: ssh UECアカウント@ssh.cc.uec.ac.jp .. note:: ``config`` の設定がうまく行われている場合は,4.で設定した任意の名前を用いて ``ssh 任意の名前`` でログインいただけます. 4.の設定例の場合,次のコマンドでログインできます. .. code-block:: ssh uec * 鍵を手動入力する 場合 1. ファイルを選択欄に既に生成してある公開鍵ファイルをアップロードし, :guilabel:`確認画面` へ進みます. .. note:: 「テキストを入力する」を選択すると,テキストの貼り付け操作でも登録を行うことができます. 2. 自動で ``ssh.cc.uec.ac.jp`` 及び ``sol.edu.cc.uec.ac.jp`` にアップロードされ,登録されます. .. note:: 反映までには時間がかかります.予めご了承ください. サーバ側の ``~/.ssh`` とは別に登録されるため,既に設定いただいている秘密鍵・公開鍵もご利用いただけます. 3. ``.ssh`` 配下に ``config`` を作成を行います. 書き方については次の通りです. .. code-block:: Host <任意の名前> HostName ssh.cc.uec.ac.jp User IdentityFile <秘密鍵があるPATH> .. note:: ``<>`` で囲われた部分につきましては,それぞれの情報をお書きください. また, ``<`` と ``>`` は記入しないでください. ``任意の名前`` は半角英数字で設定できます. .. caution:: ファイル名は ``config`` です. ``config.txt`` 等の拡張子がつかない状態である事をご確認ください. 設定例は次の通りです. .. code-block:: Host uec HostName ssh.cc.uec.ac.jp User xa000000 IdentityFile ~/.ssh/uec_rsa_key 4. 端末のプログラム(xterm,kterm,gnome-terminal, ターミナル, PowerSHell, コマンドプロンプト等)を開き, ``ssh`` コマンドを実行します. .. code-block:: ssh UECアカウント@ssh.cc.uec.ac.jp .. note:: ``config`` の設定がうまく行われている場合は,4.で設定した任意の名前を用いて ``ssh 任意の名前`` でログインいただけます. 3.の設定例の場合,次のコマンドでログインできます. .. code-block:: ssh uec * 登録済みの鍵を削除する 場合 1. :guilabel:`確認画面` へ進むと現在登録されているSSH公開鍵が表示されます. 2. :guilabel:`削除` へ進むと登録が削除されます. .. _remote_ssh_keypair_genkeypair_openssh: OpenSSH の ``ssh-keygen`` コマンド (UNIX, macOS, Windows10) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. 端末プログラム(xterm, kterm,gnome-terminal, ターミナル, PowerSHell, コマンドプロンプト等) から ``ssh-keygen`` コマンドを使って,鍵のペアを作ります. .. code-block:: bash % ssh-keygen (Enter) Generating public/private rsa key pair. Enter file in which to save the key (/homedir/.ssh/id_rsa): (キーの保存場所.通常はそのまま Enter) Enter passphrase (empty for no passphrase): (パスフレーズを入力) Enter same passphrase again: (パスフレーズを再入力) Your identification has been saved in /homedir/.ssh/id_rsa. <略> 2. ``~/.ssh/`` フォルダに ``id_rsa`` (秘密鍵)と ``id_rsa.pub`` (公開鍵)がそれぞれ作成されていることを確認します. .. code-block:: bash % ls ~/.ssh/ id_rsa id_rsa.pub 3. 公開鍵を対象サーバに登録します. 以下のように, ``ssh-copy-id`` コマンドで,先程作成した公開鍵 ( ``id_rsa.pub`` ) を ログイン先サーバ上の ``~/.ssh/authorized_keys`` に登録できます. .. code-block:: bash % ssh-copy-id @sol.edu.cc.uec.ac.jp .. caution:: Windows 10 ではこの操作が出来ないため,手動で行って下さい. .. .. _remote_ssh_keypair_genkeypair_putty: Putty (Windows) ^^^^^^^^^^^^^^^ 1. 「PuTTYgen」を起動します. 1. 「Generate」ボタンをクリックし,乱数生成のためウインドウ上でマウスをランダムに動かしてください. .. figure:: ./imgs/puttyKeygen_01.png :align: center 1. 「Public key for ~~~」の下部のテキストボックスの欄に記載されている文字列が **公開鍵** です. .. figure:: ./imgs/puttyKeygen_02.png :align: center 1. 上記の画像のように,「Key passphrase」と「Confirm passphrase」に **パスフレーズ** を入力して下さい. 本学規定基づき,12 文字以上を推奨します. **パスフレーズ** はログインに利用します. .. note:: パスフレーズは,鍵ペアに設定されるパスワードです.UECアカウントのパスワードとは異なります. 1. 「Save public key」と「Save private key」をそれぞれクリックし, **公開鍵** と **秘密鍵** を保存して下さい. ここでは,**公開鍵** を ``sol_rsa.pub`` , **秘密鍵** を ``sol_rsa.ppk`` とします. 1. **公開鍵** をログイン先サーバ (`sol.edu.cc.uec.ac.jp`) に登録します. 保存した **公開鍵** をクリップボードにコピーしてください. `パスワードによるログイン`_ の手順にしたがい,PuTTY もしくは Tera Term ログイン先サーバに パスワードでログインし, ``~/.ssh/authorized_keys`` にコピーした公開鍵を貼り付けて下さい. .. _remote_ssh_keypair_login: ログイン -------- .. note:: 以下の方法は,鍵ペアによるログイン方法です.事前に `鍵ペアの生成と登録`_ をする必要があります. パスワードによるログインは `パスワードによるログイン`_ を参照してください. .. .. _remote_ssh_keypair_login_teraterm: Tera Term による方法 (Windows) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Tera Term で公開鍵認証を行う場合は,以下の画像の :guilabel:`パスフレーズ(P):` 欄に 鍵の生成時に入力したパスフレーズを入力し, :guilabel:`TitleRSA/DSA/ECDSA鍵を使う` に チェックを付け :guilabel:`Title秘密鍵` のボタンを押し秘密鍵を選択します. .. figure:: ./imgs/teraterm_02.png :align: center .. _remote_ssh_keypair_login_putty: PuTTY による方法 (Windows) ^^^^^^^^^^^^^^^^^^^^^^^^^^ PuTTYで公開鍵認証を行う場合は,接続する際の画面のサイドバーから 以下の画像のように ``Connection`` -> ``SSH`` -> ``Auth`` のページを開き, 「Browse...」ボタンを押して保存した秘密鍵を選択して下さい. .. figure:: ./imgs/puttyKeygen_03.png :align: center .. _remote_ssh_keypair_login_openssh: OpenSSH の ``ssh`` コマンドによる方法 (UNIX, macOS, Windows) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. 端末プログラム(xterm,kterm,gnome-terminal, ターミナル など) から ``ssh-keygen`` コマンドを使って,鍵のペアを作ります. .. code-block:: bash % ssh-keygen (Enter) Generating public/private rsa key pair. Enter file in which to save the key (/homedir/.ssh/id_rsa): (キーの保存場所.通常はそのまま Enter) Enter passphrase (empty for no passphrase): (パスフレーズを入力) Enter same passphrase again: (パスフレーズを再入力) Your identification has been saved in /homedir/.ssh/id_rsa. <略> 2. ``~/.ssh/`` というフォルダに ``id_rsa`` (秘密鍵)と ``id_rsa.pub`` (公開鍵)がそれぞれ作成されていることを確認します. .. code-block:: bash % ls ~/.ssh/ id_rsa id_rsa.pub 3. 公開鍵を対象のサーバに登録する. 公開鍵をサーバに登録するためには,サーバ上の ``~/.ssh/authorized_keys`` に先程作成した公開鍵の *中身を* コピーする必要があります。(ファイルではなく中身をコピーします.) .. code-block:: bash % ssh-copy-id @sol.edu.cc.uec.ac.jp 4. パスフレーズでログインする 正しく鍵交換が出来ていれば, ``ssh`` コマンドによるログイン時に UEC アカウントのパスワードではなく 1. で設定したパスフレーズの入力を要求されます. .. code-block:: bash ssh @sol.edu.cc.uec.ac.jp Enter passphrase for key '/homedir/.ssh/id_rsa': (パスフレーズを入力) .. _remote_ssh_socksproxy: ssh.cc.uec.ac.jpを経由したSocksプロキシとして使う方法 ===================================================== 1. https://www.mozilla.org/ja/ の :guilabel:`Firefoxをダウンロード` をクリックし, **Firefoxインストーラ** をダウンロードします. 2. FireFoxを開き, ``about:preferences`` と入力すると設定画面が表示されます. 3. 設定下部にある「ネットワーク設定」欄の :guilabel:`接続設定...(E)` へ進みます. 4. :guilabel:`手動でプロキシーを設定する(M)` を選択し, :guilabel:`SOCKS v5(V)` を選択し,以下の情報を入力する. +---------------------+-----------+ | **SOCKS ホスト(C)** | localhost | +---------------------+-----------+ | **ポート(T)** | 1080 | +---------------------+-----------+ 5. ``.ssh`` 配下に ``config`` を作成を行います. 書き方については次の通りです. .. code-block:: Host <任意の名前> HostName ssh.cc.uec.ac.jp User IdentityFile <秘密鍵があるPATH> DynamicForward 1080 .. note:: ``<>`` で囲われた部分につきましては,それぞれの情報をお書きください. また, ``<`` と ``>`` は記入しないでください. ``任意の名前`` は半角英数字で設定できます. 公開鍵,秘密鍵の登録方法につきましては, :ref:`remote_ssh_keypair_genkeypair_genkeysystem` をご参照ください. .. caution:: ファイル名は ``config`` です. ``config.txt`` 等の拡張子がつかない状態である事をご確認ください. 設定例は次の通りです. .. code-block:: Host uec HostName ssh.cc.uec.ac.jp User xa000000 IdentityFile ~/.ssh/uec_rsa_key 6. 端末のプログラム(xterm,kterm,gnome-terminal, ターミナル, PowerSHell, コマンドプロンプト等)を開き, ``ssh`` コマンドを実行します. .. code-block:: ssh UECアカウント@ssh.cc.uec.ac.jp .. note:: ``config`` の設定がうまく行われている場合は,4.で設定した任意の名前を用いて ``ssh 任意の名前`` でログインいただけます. 5.の設定例の場合,次のコマンドでログインできます. .. code-block:: ssh uec 7. SSH接続が行われている間,SOCKSプロキシとして使用できます. .. .. _remote_ssh_tunnel: SSH トンネルによる学内 Web 閲の覧 ================================= 本手順は次の環境を想定しています. .. warning:: 想定環境より古いOSやソフトウェアをお使いの場合は, 手順を実施する前にアップデートしてください. :OS: - Windows 10 1903 以上 - macOS 10.15 (Catalina) 以上 :Web ブラウザ: - Firefox 74 以上 上記以外の環境でも同様のことができますが,情報基盤センターでのサポートはできません. 各自の判断でご利用ください. 設定方法 -------- 次の手順で設定してください. .. contents:: :depth: 1 :local: 1. Web ブラウザ Firefox をインストールする ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ a. https://www.mozilla.org/ja/ の :guilabel:`Firefoxをダウンロード` をクリックし, **Firefoxインストーラ** をダウンロードします b. ダウンロードした `Firefoxインストーラ` を実行し, 画面の指示に沿ってインストールします 1. Web ブラウザに学内専用サイトを閲覧する設定をする ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ a. コマンドウィンドウを開く 次の方法で **コマンドウィンドウを開き** ます. コマンドウィンドウとして,Windows の場合は :guilabel:`PowerShell` を, macOS の場合は :guilabel:`ターミナル` をそれぞれ使用します. これらはインストール済みです. :Windows 10の場合: :guilabel:`スタートメニュー` |win10_windows| を開き, そのままキーボードから ``powershell`` と入力します. 表示された項目の中から, :guilabel:`Windows PowerShell` をクリックします. .. figure:: ./imgs/guidance_run_powershell.png :width: 500pt :align: center :macOSの場合: :guilabel:`Dockメニュー` から :guilabel:`Finder` |macos_finder| をクリックして実行します. :guilabel:`アプリケーション` |r_arrow| :guilabel:`ユーティリティ` |r_arrow| :guilabel:`ターミナル` の順でクリックします. .. figure:: ./imgs/guidance_run_terminal.png :width: 500pt :align: center b. アクセス用のコマンドをコマンドウィンドウに入力する コマンドウィンドウが開いたら,**次の 1 行を入力** してください (右の |sphinx_copy| アイコンをクリックするとクリップボードにコピーされます). 入力が終わった時点では,**まだエンターキーを押さない** でください.:: ssh sol.edu.cc.uec.ac.jp -L 8080:proxy.uec.ac.jp:8080 -l UECアカウント 入力した行の ``UECアカウント`` の部分を **自分のUECアカウントに書き換え** て, 最後にエンターキー (:kbd:`Enter` または :kbd:`Return`) を押してください. パスワードの入力を求められますので, **UECアカウントのパスワードを入力** して **最後にエンターキー** を押してください. .. hint:: パスワードの入力中,入力した文字や「*」は表示されません. **初めてこのコマンドを実行する方のみ**:: Are you sure you want to continue connecting (yes/no)? と表示される場合があります. ``yes`` を入力してエンターキーを押してください. 接続に成功すると,コマンドウィンドウ中に :guilabel:`Welcome to sol.cc.uec.ac.jp in ITC2018.` などの文字が 表示されます.この手順の最後まで, **コマンドウィンドウは閉じない** でください. .. hint:: UECアカウントが ``x2000000`` の場合の例: .. figure:: ./imgs/guidance_ssh_tunnel_example.png :width: 450pt :align: center c. Firefox に学内サイトにアクセスする設定をする Firefox を起動し, :guilabel:`メニューアイコン` |firefox59_menu| (左上隅) |r_arrow| :guilabel:`オプション` (macOSの場合は :guilabel:`設定`) の順にクリックする. .. figure:: ./imgs/guidance_ff_launch.png :width: 200pt :align: center 開いた設定タブを最下部までスクロールし, :guilabel:`接続設定...` ボタン をクリックする. .. figure:: ./imgs/guidance_open_ff_settings.png :width: 400pt :align: center 開いたページで,以下の操作を行う: - :guilabel:`手動でプロキシーを設定する` をチェックする - :guilabel:`HTTP プロキシー` に ``localhost`` を入力し, さらにすぐ右の :guilabel:`ポート` に ``8080`` を入力する. - :guilabel:`このプロキシーを FTP と HTTPS でも使用する` をチェックする - 最後に :guilabel:`OK` ボタンを押す .. figure:: ./imgs/guidance_ff_proxy_setting.png :width: 400pt :align: center d. 学内サイトにアクセスできるか確認する Firefox 上部のアドレスバーに以下を入力して :guilabel:`Enter` を入力する (右の |sphinx_copy| アイコンをクリックするとクリップボードにコピーされます).:: https://www.cc.uec.ac.jp/in/ :guilabel:`学内ネットワークからアクセスされました.学内専用ページの参照が可能です.` と 表示されページが見えれば設定は完了しています. .. figure:: ./imgs/guidance_ff_check_proxy_setting.png :width: 500pt :align: center 1. [重要] 作業終了後に Web ブラウザの設定を解除する ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. warning:: 学内専用サイトでの作業が終わった後は,必ずこの手順に沿って Web ブラウザの設定を元に戻してください. この手順を行わないと,普段お使いのサイトが正常に表示できなくなる可能性があります. Firefox を起動し, :guilabel:`メニューアイコン` (左上隅) |r_arrow| :guilabel:`オプション` (macOSの場合は :guilabel:`設定`) |r_arrow| :guilabel:`接続設定...` ボタン (画面最下部までスクロール) の順にクリックします. 開いたページで,以下の操作を行います: - :guilabel:`システムのプロキシー設定を利用する` をチェックする - 最後に :guilabel:`OK` ボタンを押す .. figure:: ./imgs/guidance_ff_proxy_unset.png :width: 300pt :align: center Web ブラウザの設定が正しく解除されたことを確認するため,普段お使いのサイトが表示できるか確認してください. .. _ssh_faq: FAQ === .. toctree:: :maxdepth: 1 faq