ホーム‎ > ‎

sshその1 (sshの使用)

ssh(Secure SHell)とは


ネットワークでつながったマシンに遠隔(リモート)ログインするためのもの。一々マシンの前に移動しなくても作業が出来る。
通信は暗号化されているので、パケット自体を盗み見られても通信の中身がわかるわけではない。
sshでログインするためには、サーバ(sshd)を起動する必要がある
現在SSH実装として広く使われているのはオープンソースのOpenSSHである。

なお、実習は同じ机の二人一組で行うこと

(実習1.0) opensshのインストール


Ubuntu Desktopの場合、デフォルトではインストールされていない。
パッケージマネージャを使って、openssh-serverをインストールする。(「クイック検索」で検索するとよい)
インストールが完了すると自動的にsshdが立ち上がる。

(実習1.1) sshの基本操作

sshdが起動していることを確認する。

$ service ssh status
ssh start/running, process #####

running以外が出た場合はTAに相談のこと

隣のマシンにも自分のアカウントを作っているはずなので、sshでリモートログインしてみる(そうではない場合はあらかじめ作成しておく)。
sshでリモートログインする場合は端末上で

$ ssh (ユーザ名)@(隣のマシン名)

とする。もしくは

$ ssh -l (ユーザ名) (隣のマシン名)

でもよい。

最初に接続するときは以下の質問を訊かれるので

The authenticity of host 'eduxxa (192.168.1.xxx)' can't be established.
RSA key fingerprint is aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa.
Are you sure you want to continue connecting (yes/no)?

ここではyesとしておいてよい(このメッセージは何を意味しているのか?)

次にパスワードを訊かれるので、正しく入力するとログインに成功しプロンプトが現れる。

以下、hogeがユーザ名、eduxxaが接続先マシン名とするので各自読み替えること。

hoge@eduxxa:~$


隣の相手も端末を開いている状態で

hoge@eduxxa:~$ who
hoge@eduxxa:~$ write (隣の人のユーザ名)
Hello! (適当にメッセージを打ってみる)
(最後にCtrl+d)

としてみよう。

一度ログアウトする。

hoge@eduxxa:~$ exit

自分のマシンに戻ったことを確かめよ(どうやって?)

(実習1.2) scpの基本操作


scpはsshを使ってファイルをリモートのマシンにコピーする(あるいは逆)ソフトである。

とりあえず適当なファイルを作ってみる

$ echo fugafuga > fuga.txt

scpでコピーする 様式は scp (コピー元) (ユーザ名)@(ホスト名):(コピー先) である。末尾の":"(コロン)を忘れないように(忘れるとどうなるか?)。

$ scp fuga.txt hoge@eduxxa:

パスワードを正しく入力したらコピーが行われるので、隣のマシンにsshでログインしfuga.txtがあることを確認する。

hoge@eduxxa:~$ cat fuga.txt
fugafuga

今度は隣のマシンからファイルをコピーしてみる。まずはsshログインしたまま隣のマシンでファイルを作成する。

hoge@eduxxa:~$ echo foobar > foo.txt

ログアウトして、以下のコマンドラインを実行

$ scp hoge@eduxxa:foo.txt .

パスワードを聞かれるので入力すると、ファイルがコピーされるので確認する

$ cat foo.txt
foobar