(この記事は su_zu/ssh講習 をベースに手直ししただけです。)
環境構築
Google Chrome
Chrome の拡張機能として Secure Shell がある。
Windows の方
PuTTY
本家PuTTYhttp://www.chiark.greenend.org.uk/~sgtatham/putty/
日本語化されているPuTTY(推奨)[http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html]]
解凍するとputtyjp.exeがあります、ダブルクリックすると起動します。
Xming
https://www.cc.uec.ac.jp/in/xming/cgi-bin/agreement.cgi (学内からのアクセスのみ可能)ここからrel Xming-*-setup.exeを使ってXmingをインストールしてください。
http://www.straightrunning.com/xmingnotes/ ここからXming-fontsをインストールしてください。
Mac(OS X)の方
XQuartz
このリンクからXQuartz-*.dmgをダウンロードしてインストールしてください。
Linuxの方
ほとんどのLinuxの方は環境構築はしなくて大丈夫です。
講習の目的
ssh を用いて nest (MMAのサーバ), sol (教育系システムのメインサーバ) にログインすることです。
sshとは
sshとはSecure Shellの略称です。
shell (シェル) とはユーザーとカーネル (OSの中核となるもの) との間に仲介して対話的に処理を行うもののことです。
カーネルを中身として見るとshellは殻のようであるからshellという名前が付けられました。
なぜsshを用いてサーバにログインする必要があるのかを一言で表すと安全だからです。
sshは通信を暗号化しているので安全性が高いのですが、telnetなどを用いてサーバにログインするとパスワードを平文(暗号されていないそのももの状態)を送信するのでもしそれを盗聴されてしまった場合セキュリティー上大変危険な状態になります。
X11転送(X11 forwarding)
X11 forwardingを使えばリモートのXアプリケーション(GUIアプリケーション)を操作することができます。具体的な例で言うとサーバにあるpdfを開いたり、emacsを GUI 付きで開いたり際に必要になります。
sshクライアント
sshというのは規格であり、利用するためにはソフトウェア(sshクライアント)が必要です。
-
OpenSSH(Mac, LinuxなどのUNIX系OS): Mac, LinuxなどのUNIX系OSの方
-
PuTTY(Windows): Windowsの方
OpenSSH(Mac, LinuxなどのUNIX系OS)
基本的にUNIX系OSではOpenSSHがインストールされています。
使い方
どちらでも同じです。
$ ssh -l ユーザー名 ドメイン名
$ ssh ユーザー名@ドメイン名
solにログインする形で使い方を説明します。ターミナルを起動してください。
ユーザー名をUECアカウント(ここでは「a1234567」とする)、ドメイン名を「sol.edu.cc.uec.ac.jp」として入力してEnterを押してください。
$ ssh a1234567@sol.edu.cc.uec.ac.jp
以下のようなものが出たと思いますが詳しい説明は/Fingerprintです。yesを入力してEnterを押してください。
The authenticity of host 'sol.edu.cc.uec.ac.jp (130.153.16.7)' can't be established.
RSA key fingerprint is 47:df:d5:98:62:90:db:86:8f:26:82:ea:65:e5:69:16.
Are you sure you want to continue connecting (yes/no)?
以下のようになると思うのでパスワードを入力してEnterを押してログインできます。
a1234567@sol.edu.cc.uec.ac.jp's password:
終了する場合はexitを入力してEnterを押してください。
学外からnestにログインする方法
nestにはグローバルIPv4アドレスが割り当てられていないので学外からは直接ログインすることはできません。
この講習では2つの方法を紹介します。(ここではMMAアカウントを「su_zu」として説明します)
moonを用いる方法(推奨)
moonの2222ポートにつなぐことで直接nestにログインすることができます。
$ ssh -p 2222 su_zu@moon.mma.club.uec.ac.jp
solを用いる方法
一度solにログインして再度sshを用いてnestにログインします。
二度sshのコマンドを叩くのも良いのですが多段sshを行うともっと簡単にできます。
多段sshを行う場合の.ssh/configの設定です。.ssh/configの設定は下記に記述してあります。
Host sol
HostName sol.edu.cc.uec.ac.jp
User a1234567
Host sol-nest
HostName nest.mma.club.uec.ac.jp
User su_zu
ProxyCommand ssh -W %h:%p sol
$ ssh sol-nest
上記のように入力すればnestにログインすることができます。
多段sshのおまけ(ncを使う方法)
nestからsolに接続する.ssh/configです(学外から)。
Host moon
HostName moon.club.uec.ac.jp
User su_zu
Port 2222
Host moon-sol
HostName sol.edu.cc.uec.ac.jp
User a1234567
ProxyCommand ssh moon nc %h %p
上記のようにすれば多段sshができます。ただしsolには直接ログインしたほうが良いのであくまで一例にとどめてください。
ちなみにsolにはncが入ってないので上記のようなことはできません。
X11 forwarding
Macの方はXQuartzが入っていることを確認してください
$ ssh -X ユーザー@ドメイン
これでGUIアプリを動かすことができます試しにemacsとかemacsとかemacsを動かしてみてください
.ssh/configの設定
毎回毎回長いコマンドを打ち込むのは面倒くさいと思います、そこで.ssh/configを設定して簡単にログインできるようにしましょう。
Host 任意の名前
HostName ドメイン名
User ユーザー名
Port ポート番号 #記述しない場合は22となる
nestにログインする形で説明します。(ここではMMAアカウントを「su_zu」とする)
~/.ssh/configを以下のように編集して保存してください。
Host nest
HostName nest.mma.club.uec.ac.jp
User su_zu
以下のコマンドを入力してパスワードを入力すればログインすることができます。
$ ssh nest
PuTTY(Windows)
使い方
日本語化されたputtyを用いてsolにログインする形で使い方を説明します。
左のセッションをクリックしてホスト名に「sol.edu.cc.uec.ac.jp」、ポートに「22」を入力してください。
<
>
左の変換をクリックしてリモートの文字セットに「UTF-8」を入力してください。
<
>
左のセッションをクリックしてセッション一覧に任意の名前(ここでは「sol」とする)を入力して保存をクリックしてください。これで設定は保存をされました。
<
>
設定を読み込むには設定の一覧から選択して読み込むをクリックしてください。
開くをクリックすると以下のようなものが出たと思いますが詳しい説明は/Fingerprintです。はいをクリックしてください。
<
>
自分のUECアカウントのID(ここでは「a1234567」とする)を入力してEnterを押し、パスワードを入力してEnterを押すことでログインできます。
<
>
終了する場合はexitを入力してEnterを押してください。
例えばnestにログインする場合は「a1234567」を自分のMMAアカウントに、「sol.edu.cc.uec.ac.jp」を「nest.mma.club.uec.ac.jp」に変えることでnestにログインすることができます。
学外からnestにログインする方法
nestにはグローバルIPv4アドレスが割り当てられていないので学外からは直接ログインすることはできません。
この講習では2つの方法を紹介します。
moonを用いる方法(推奨)
ホスト名に「moon.mma.club.uec.ac.jp」、ポートに「2222」を入力することでnestに接続することができます。
<
>
solを用いる方法
一度solにログインして再度sshを用いてnestにログインします。solにはopensshがインストールされているので OpenSSH(Mac, LinuxなどのUNIX系OS)の使い方 を見てください。
X11 forwarding
solに接続する形で説明します。
Xmingがlaunchされていることを確認してください。
solの設定を読み込んだ後に、左のSSHのX11のX11フォワーディングを有効にしてください。
<
>
そして開くをクリックしてください。これでGUIアプリを動かすことができます試しにemacsとかemacsとかemacsを動かしてみてください
Fingerprint
初めてsshサーバにログインする際に英数字の羅列した文字列が表示されたと思いますがこれをFingerprintと言います。
Fingerprintとはsshサーバに最初にログインするときログイン先のサーバが正しいかどうかを判断するためのものです。
sshでログインする場合は接続先のサーバのFingerprintを事前に信頼できる方法で調べておいて一致しているか確認することでより安全なものとなります。
solのFingerprintは僕が調べた限り公開されていない‥‥
例えばnestのFingerprintは/Computersに記述されています。