[Exp2022]最低限リモートアクセス
本日の実習について
今回の実習は作業が多いため, まずは「◎」 がついた項目のみ作業してください. 次に「○」 がついた項目を作業してください. また, 「△」のついた項目は参考資料です. すべての項目が終わって暇な場合は, 取り組んでみてください. 「×」が付いた項目は読むだけで, 作業はしないでください.
◎リモートアクセス入門
以下では ssh, scp を使って, 実際に
- リモートログイン
- ファイル転送
を実行します.
まずは, 既に説明した方法で itpass サーバに ssh でログインしてください. 下の実習はそこからスタートします.
ssh を用いたリモートログイン
ssh は通信内容を暗号化するので, 盗聴によってパスワードが漏洩する危険性が減ります. ここでは, itpass サーバから情報実験機へ ssh を用いてリモートログインしてみます.
初めてリモートログインすると以下のようなメッセージが流れます.
The authenticity of host '10.35.19.2XX' can't be established. RSA key fingerprint is 9e:e4:80:1f:1b:ac:b3:8e:2a:e3:dc:62:ae:2f:4b:b9. Are you sure you want to continue connecting (yes/no)?
ssh は通信を暗号化する際にリモートホストの「公開鍵(RSA key)」を用いています. そしてこのメッセージは 「相手の公開鍵をもらっても良いか?」という確認にあたります. ですから質問に対して "yes" を返して下さい.
では実際に情報実験機へログインしてみましょう. ssh の使い方は以下の通りです.
$ ssh -l [リモートホストのユーザ名] [サーバ名 or IP アドレス] もしくは $ ssh [サーバ名 or IP アドレス] -l [リモートホストのユーザ名] もしくは $ ssh [リモートホストのユーザ名]@[サーバ名 or IP アドレス]
ただし, ローカルホストとリモートホストでユーザ名が同じ場合は,
- -l [リモートホストのユーザ名]
- [リモートホストのユーザ名]@
の部分は不要です. これは, 以降に記載してある scp によるファイル転送でも同じです. ではここで質問です.
情報実験機にログインするには, サーバ名ではなく IP アドレスを指定しなければなりません. XX を二桁の数字として, johoXX-itpass の IP アドレスは, 10.35.19.2XX となることに注意しましょう.
例えば下のようなコマンドになるでしょう.
hoge@ika-itpass:~$ ssh hoge@10.35.19.2XX
無事にログインできたら, 恐らく bash のプロンプトが以下の様に変わるでしょう.
[ユーザ名]@johoXX-itpass:~$
ここでは適当なファイルを作成してもらいます. 例えば "echo" コマンドを使用して,
[ユーザ名]@johoXX-itpass:~$ echo "********" > johoXX.txt
などと入力して下さい. "********" はお好きな文字列でどうぞ. どこにファイルを作ったかも覚えておいて下さい.
作業が終わったら, ログアウトします. logout もしくは exit コマンドを実行して下さい.
[ユーザ名]@johoXX-itpass:~$ logout もしくは [ユーザ名]@johoXX-itpass:~$ exit
scp によるファイル転送
先程情報実験機で作成したファイルを scp を用いて itpass サーバへ 転送してみましょう. scp は通信内容を暗号化してファイル転送を行ないます.
scp の使い方は以下の通りです. コピー元とコピー先を指定する順番は, "cp" コマンドと同じです.
- ローカルホストからリモートホストへとファイルを転送する場合
$ scp [ローカルホストのファイル] [ユーザ名]@[リモートホスト]:[転送先のパス]
リモートホストの[転送先のパス]を省略すると ホームディレクトリを指定したことになります.
- リモートホストからローカルホストへファイルを転送する場合
$ scp [ユーザ名]@[リモートホスト]:[転送するファイル] [転送先のパス]
ではここで質問です.
例えば下のようなコマンドになるでしょう.
hoge@ika-itpass:~$ scp hoge@10.35.19.2XX:~/johoXX.txt .
無事に転送できたら, ファイルの中身が先程作成したファイルと同じであるかを確認して下さい.
情報実験機から itpass サーバへのログイン
ここまでは, itpass サーバから情報実験機にログインしたり, 情報実験機にあるファイルを itpass サーバからコピーしました (取りに行きました). 次に, itpass サーバから情報実験機にログインした後, そのまま情報実験機から itpass サーバにログインしてみましょう.
このためには公開鍵の準備が必要です. なぜなら, itpass サーバは公開鍵認証を経てログインするようになっていますので, 情報実験機で作成した公開鍵を itpass サーバに登録する必要があります. (情報実験機では, 公開鍵認証ではなくパスワード認証でのログインができるようになっているので (公開鍵認証を設定していないので), itpass サーバから情報実験機へのログインのための公開鍵登録は必要ありません.)
下の作業では, 自分が itpass サーバにいるのか, 情報実験機にいるのか混乱しないようにしましょう.
情報実験機へのログイン
itpass サーバから情報実験機にログインしましょう. 方法はわかりますね?
例えば下のようなコマンドになるでしょう.
hoge@ika-itpass:~$ ssh hoge@10.35.19.2XX
情報実験機での公開鍵の準備
情報実験機で, 以下のコマンドで公開鍵ファイルと秘密鍵ファイルを作成します.
hoge@johoXX-itpass:~$ ssh-keygen -t rsa
すると, 以下のように保存場所を聞かれます. デフォルトの位置で OK なので, そのまま Enter キーを押してください.
Enter file in which to save the key (/home/login_name/.ssh/id_rsa):
その後, パスフレーズの入力を求められるので, 考えてきたものを入力して下さい. パスフレーズはパスワードと以下の点で異なりますが, 基本的にはパスワードをつける時と同様です.
公開鍵の転送
情報実験機で作成した公開鍵 (~/.ssh/id_rsa.pub) を itpass サーバに転送しましょう. 方法はわかりますね?
(itpass サーバから情報実験機にファイルを「取りに行かなければ」なりません. 現段階では, 情報実験機から itpass サーバにファイルを送ることはできません. この違いがわかりますか?)
例えば下のようなコマンドになるでしょう.
hoge@ika-itpass:~$ scp hoge@10.35.19.2XX:~/.ssh/id_rsa.pub .
公開鍵の登録
itpass サーバで, 公開鍵を登録します. 公開鍵は ~/.ssh/authorized_keys に登録します. 下のようなコマンドで公開鍵を追加することができるでしょう.
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
ここで 「>>」を「>」と打ってしまうと「酷いこと」になりますので気を付けましょう.
これで, 情報実験機から itpass サーバにログインする準備が整ったはずです.
実際に情報実験機から itpass サーバに ssh でログインしてみましょう.
△時間に余裕のある方へ
実際に皆さんが ssh, scp を用いて利用しそうなサーバとして, 今回作業した itpass サーバ以外に, 学術情報基盤センターの WWW サーバがあります.
学術情報基盤センターの WWW サーバへログインしてみる.
神戸大学の学術情報基盤センターでは, アカウントを持っている人向けの WWW サーバへ ssh でログインできます. 試しにログインしてみては如何でしょうか?
アップロード用のサーバは upload.center.kobe-u.ac.jp です.
ウェブブラウザから見るときは, www2.kobe-u.ac.jp を指定してください.
ただし
- 環境設定はそれなりに必要です. ここでは詳しく触れません.
- bash とエディタ (vi, emacs など) の設定がそれなりにきちんとできると, センターのサーバへログインして, ファイルを作成したりできます.
Keyword(s):
References:[[Exp2022]スケジュール表・各回資料] [[Exp2022]最低限リモートアクセス] [[Exp2023]最低限リモートアクセス] [[Exp2024]最低限リモートアクセス]