プロジェクト

全般

プロフィール

リモートデスクトップによる演習室端末(Linux)の利用 » 履歴 » バージョン 3

バージョン 2 (ODA TAKESHI, 2022/03/23 15:33) → バージョン 3/12 (ODA TAKESHI, 2022/04/07 12:03)

{{toc}}

h1. リモートデスクトップによる演習室端末(Linux)の利用

h2. 利用にあたって

IED では演習室端末の Linux デスクトップ環境を遠隔で利用可能です。 登学不可の期間、演習室の端末について、リモートデスクトップを利用できるようにします。
利用には、まず端末に IED演習室の全端末には、学内専用のプライベートIPアドレスが割り振られています。
自宅など、学外のネットワークから演習室の端末に接続する場合は、情報基盤センターが運用している下記のホストに
SSH 接続する必要があるため、 でログインして利用してください。

<pre>

[[演習室端末(Linux)の遠隔利用]] のページを参考に sol.cc.uec.ac.jp
</pre>

さらにリモートデスクトップを利用するには *SSHによる "ポートフォワーディング":http://www.koikikukan.com/archives/2016/09/15-000300.php* の設定が必要です。

なお、リモートデスクトップを利用せず、単に IED の環境を
SSH 接続環境を によるコマンドラインベースで利用する場合は、ポートフォワーディングのオプションは不要です。
用意して下さい。 また、[[リモート(演習室外)からのアクセス|remote.ied.inf.uec.ac.jp]] に SSH 接続できるよう設定が済んでいる方は、sol.cc ではなく remote.ied 経由でも IED の端末を利用可能です。

%{color:darkgreen} ※ sol は全学の利用者が集中するため、遠隔授業実施期間中は混雑が予想されます。remote を経由した方が快適に使用できると思われます。%

---

h2. 利用可能な端末のドメイン名

IED では以下のドメイン名の端末が利用可能です。

* *a11*.ied.inf.uec.ac.jp 〜 *a18*.ied.inf.uec.ac.jp
* *a21*.ied.inf.uec.ac.jp 〜 *a28*.ied.inf.uec.ac.jp
* *a31*.ied.inf.uec.ac.jp 〜 *a38*.ied.inf.uec.ac.jp
* *a41*.ied.inf.uec.ac.jp 〜 *a48*.ied.inf.uec.ac.jp
* *a51*.ied.inf.uec.ac.jp 〜 *a58*.ied.inf.uec.ac.jp
* *a61*.ied.inf.uec.ac.jp 〜 *a68*.ied.inf.uec.ac.jp
* *a71*.ied.inf.uec.ac.jp 〜 *a78*.ied.inf.uec.ac.jp
* *b11*.ied.inf.uec.ac.jp 〜 *b18*.ied.inf.uec.ac.jp
* *b21*.ied.inf.uec.ac.jp 〜 *b28*.ied.inf.uec.ac.jp
* *b31*.ied.inf.uec.ac.jp 〜 *b38*.ied.inf.uec.ac.jp
* *b41*.ied.inf.uec.ac.jp 〜 *b48*.ied.inf.uec.ac.jp
* *b51*.ied.inf.uec.ac.jp 〜 *b58*.ied.inf.uec.ac.jp
* *b61*.ied.inf.uec.ac.jp 〜 *b68*.ied.inf.uec.ac.jp
* *b71*.ied.inf.uec.ac.jp 〜 *b78*.ied.inf.uec.ac.jp

* 教師用: *a00*.ied.inf.uec.ac.jp, *b00*.ied.inf.uec.ac.jp

---

h2. 利用する端末の選択

個々の端末は複数名での同時利用が可能なほどの性能を有していません。
%{color:red}授業時間中は履修者以外は利用を控えて下さい。
また、授業で利用する際は教員から割り当てられた端末を使用して下さい。%
授業がない時間帯は自由に自習で利用できます。
Linux の場合はすでに利用者がいる端末にも接続できますが、
動作が遅くなりますので、空いている端末に接続し直すことを強くお勧めします。
who コマンドで現在ログインしているユーザを表示できるので、
自分以外のユーザいる場合は他の端末を利用して下さい。

*%{color:darkgreen}※ 授業で使用される教員の方へお願い%*

担当する授業におきまして、各学生に対して使用端末の割り当てをお願いします。

---

h2. Linux(Ubuntu)端末へのリモートデスクトップ

Linux(Ubuntu)端末へのリモートデスクトップ接続は "VNC":https://wa3.i-3-i.info/word13373.html を使用します。
接続手順は次のとおりです。

# 手元のPC(Windows/Mac)から sol.cc.uec.ac.jp にポートフォワーディング設定でSSH接続する(学外からの接続のみ)
#
ssh で IED 端末に接続し、vncserver で各端末に接続し、vncserver を起動する
# 手元のPC(Windows/Mac)からVNCクライアントにより接続する


SSH で IED 端末に接続し、vncserver 手順の詳細を以下に示します。

h3. ■手元のPC(Windows/Mac)からsol.cc.uec.ac.jp にポートフォワーディング設定でSSH接続する

h4. ●Windows の場合

接続元のPCがWindowsの場合における、ポートフォワーディングの設定例を示します。
ソフトウェアは "PuTTY":https://www.chiark.greenend.org.uk/~sgtatham/putty/index.html を利用しています。

# ソフトウェアのダウンロードと展開
## "PuTTY":https://www.chiark.greenend.org.uk/~sgtatham/putty/index.html のサイトから「Download it here. 」のリンクをクリック
## 「Alternative binary files」の欄から、次のファイルをダウンロードする
*** putty.zip (a .ZIP archive of all the above)
- 64-bit putty.zip 
## 上記ファイルを展開(解凍)して現れる 「PUTTY.EXE」 を実行する
 
# Host Name 欄に 「sol.cc.uec.ac.jp」 と入力します
!vnc_cap11.PNG!
 
# 画面左側の「Category」欄から
 Connection
 └SSH
  └Tunnels
を選択する
 
# 次の内容を入力します
## Source port欄に 「5901」
## Destination欄に 「 *aXX*.ied.inf.uec.ac.jp:5901」または「 *bXX*.ied.inf.uec.ac.jp:5901」※
## 「Add」ボタンで入力を確定する
!vnc_cap12.PNG!
※Destination欄には、「[[リモートデスクトップによる演習室端末(Linux/Windows)の利用#端末毎の起動OSとドメイン名の対応|端末毎の起動OSとドメイン名の対応]]」を参照し、自身に利用割当てされた端末のドメイン名を指定してください。
 上図と同じ値(bXX)を入力しても接続できません。
 
## この設定を保存しておきたい場合は次の操作を行います。次回のPuTTY起動時に、同じ設定で起動するようになります。
①Session選択 → ②「Default Settings」クリック → ③「save」ボタン
!vnc_cap19.PNG!
  
# 「Open」ボタンでSSH接続します
 
# 次のウィンドウが現れたら「はい」を選択します(これはsol.cc サーバの"finger print":https://webkaru.net/linux/ssh-server-finger-print/ の登録確認で、初回の接続時に表示されます)
!vnc_cap20.PNG!
 
# UECアカウントのユーザ名、パスワード を入力します(パスワードの入力内容は画面表示されません)
!{width:600px}vnc_cap13.PNG!
 
# ログインができれば、ポートフォワード設定ありでSSH接続が完了しています。
*リモートデスクトップの使用中は、下記ウィンドウを開いたままにしておく必要があります。
作業終了まで閉じないように注意してください。*
!{width:600px}vnc_cap14.PNG!

h4. ●Macの場合

接続元のPCがMacの場合における、ポートフォワーディングの設定例を示します。

# ユーティリティから「"ターミナル":https://techacademy.jp/magazine/5155 」を起動します
# 次のコマンドを入力します(右側の <-- はコメントです)
<pre>
$ ssh -L 5901:bXX.ied.inf.uec.ac.jp:5901 a1820XXX@sol.cc.uec.ac.jp <-- コマンド入力してsol.cc にSSH接続※
The authenticity of host 'sol.cc.uec.ac.jp (130.153.16.9)' can't be established.
ECDSA key fingerprint is SHA256:H71B37iV2kwn5Nb1J4yRXYOLcixgaoqxkWMZFvBDhp0.
Are you sure you want to continue connecting (yes/no)? yes <-- yes/no と表示されたら yes と入力
Warning: Permanently added 'sol.cc.uec.ac.jp' (ECDSA) to the list of known hosts.
a1820XXX@sol.cc.uec.ac.jp's password: <-- パスワード入力(内容は非表示)

Last login: Fri Apr 24 14:09:13 2020 from iedair1.ied.inf.uec.ac.jp

...

[a1820XXX@sol ~]$ <-- ログイン完了

</pre>※入力コマンド内の 「bXX.ied.inf.uec.ac.jp」 の値は、「[[リモートデスクトップによる演習室端末(Linux/Windows)の利用#端末毎の起動OSとドメイン名の対応|端末毎の起動OSとドメイン名の対応]]」を参照し、自身に利用割当てされた端末のドメイン名を指定してください。
 上記と同じ値(bXX)を入力しても接続できません。
 
 
# ログインができれば、ポートフォワード設定ありでSSH接続が完了しています。
*リモートデスクトップの使用中は、SSH接続が継続している必要があります。
作業終了まで、ターミナルのウィンドウを閉じたり、sol.cc からログアウトしないように注意してください。*

h3. ■ssh でIEDの各端末に接続し、vncserver を起動する

SSHでLinuxの端末に接続し、vncserver
コマンドを入力します。
SSH接続した状態からの先のコマンド操作を示しています。(右側の 次の例では、 ポートフォワード設定で sol.cc.uec.ac.jp にSSH接続した場合からの続きのコマンド操作を示しています。(右側の <-- はコメントです)

<pre><code class="BASH">
aXX:~> $ ssh bXX.ied.inf.uec.ac.jp <-- コマンド入力してIED端末にSSH接続※
The authenticity of host 'bXX.ied.inf.uec.ac.jp (172.21.166.XX)' can't be established.
ECDSA key fingerprint is SHA256:+RNZCHCr8QtnoTftKnvmuDhTMGdIxYd+x6324UcMx20.
ECDSA key fingerprint is MD5:fe:d6:05:14:75:7b:60:3c:8f:63:0d:bf:7f:5b:cf:3f.
Are you sure you want to continue connecting (yes/no)? yes <-- yes/no と表示されたら yes と入力
Warning: Permanently added 'bXX.ied.inf.uec.ac.jp,172.21.166.XX' (ECDSA) to the list of known hosts.
a1820XXX@bXX.ied.inf.uec.ac.jp's password: <-- パスワード入力
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.13.0-46-generic x86_64)
bXX:~>
vncserver <-- コマンド入力

You will require a password to access your desktops.

Password: <-- VNC接続用のパスワードを入力
(内容は任意、入力文字は非表示)
Verify: <-- パスワードを再入力
Would you like to enter a view-only password (y/n)? n <-- n と入力

New 'aXX:1 (a2210???)' 'bXX:1 (a1820XXX)' desktop at :1 on machine aXX bXX

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home3/staff/a2210???/.vnc/aXX:1.log /home3/staff/a1820XXX/.vnc/bXX:1.log

Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home3/staff/a2210???/.vnc/passwd aXX:1 /home3/staff/a1820XXX/.vnc/passwd bXX:1 to connect to the VNC server.

aXX:~> bXX:~>

</code></pre>

</code></pre> ※最初の ssh コマンドの引数には、「[[リモートデスクトップによる演習室端末(Linux/Windows)の利用#端末毎の起動OSとドメイン名の対応|端末毎の起動OSとドメイン名の対応]]」を参照し、自身に利用割当てされた端末のドメイン名を指定してください。
  上記と同じ値(bXX)を入力しても接続できません。

上記により、VNCによるデスクトップ画面用のプロセスが起動します。
2回目以降は、パスワードの入力は省略されます。
(VNC接続用パスワードは vncpasswd コマンドで変更できます)

IED の標準設定では vncserver コマンドは 1900x1200 1600x1000 のサイズの画面を生成します。
このサイズでは不都合な場合、下記のようにオプションを指定することでサイズを変更可能です。

<pre><code class="BASH">
aXX:~> bXX:~> vncserver -geometry 1280x800 <-- 画面サイズを 1280x800 とする場合
</code></pre>

h2. 手元のPC(Windows/Mac)からVNCクライアントにより接続する h3. ■手元のPC(Windows/Mac)からVNCクライアントにより接続する

h4. ●Windowsの場合

Windows から上述のデスクトップ画面に接続する場合は、VNCソフトをWindowsにインストールします。
ここでは RealVNC を用いた接続例を示します。

# 次のページを参考に、RealVNC をインストールします
** *RealVNC*: https://kb.seeck.jp/archives/5892
 
# インストールが完了したら、Windowsのメニューから次の順で「VNCビューワ」を起動します
** RealVNC → VNCビューワ4 → VNCビューワの起動
 
# リモートデスクトップ接続情報
** サーバ: *aXX.ied.inf.uec.ac.jp:5901* ← サーバ名は接続端末の FQDN を指定する *127.0.0.1:5901*
→ 「OK」をクリック
!vnc_cap15.PNG!
 
** パスワード: vncserverコマンドの際に設定したパスワード
→ 「OK」をクリック
!vnc_cap16.PNG!
 
# 接続完了
!{width:400px}vnc_cap17.PNG!

不意のネットワーク切断などでリモートデスクトップの画面が途切れた場合は、本手順を再度実施して接続してください。

h4. ●Macの場合

Macから上述のデスクトップ画面に接続する手順を示します。

# "Finder":https://support.apple.com/ja-jp/HT201732 のメニューから、下記を選択します
移動 → サーバへ接続
!{width:400px}mac_cap01.png!
 
# リモートデスクトップ接続情報
** サーバアドレス: *vnc://aXX.ied.inf.uec.ac.jp:5901* ← サーバ名は接続端末の FQDN を指定する *vnc://127.0.0.1:5901*
(127.0.0.1 の代わりに localhost を使うこともできます)

→ 「接続」をクリック
!{width:400px}mac_cap02.PNG!
 
** パスワード: vncserverコマンドの際に設定したパスワード
→ 「接続」をクリック
!mac_cap03.PNG!
 
# 接続完了
!{width:500px}mac_cap04.PNG!

h3. ■リモートデスクトップの終了

リモートデスクトップを終了する場合は、画面右上の「電源ボタン▼」からログアウトしてください。
!{width:400px}vnc_cap18.PNG!

上記を実施せずにVNCのウィンドウを閉じた場合は、ログイン中の画面プロセスが端末上で実行されたままとなります。
次のコマンドを入力して、ログイン中の画面プロセスが実行中であれば、削除してください。

<pre>

aXX:~> bXX:~> vncserver -list <-- コマンド入力

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:1 30033 <-- プロセスが実行されたまま

aXX:~> bXX:~> vncserver -kill <-- コマンド入力
Killing Xtigervnc process ID 30033... success! <-- プロセスが削除されました

aXX:~> bXX:~> vncserver -list <-- 再度確認

TigerVNC server sessions:

X DISPLAY # PROCESS ID
<-- プロセスが消えている
</pre>

---