計算機基礎 - 第14回: UNIX を使ってみよう (5) - SSH

Table of Contents

1. SSH によるリモートログイン

SSH (Secure SHell) は,ネットワーク越しに別のコンピューターを安全に遠隔操作するための通信プロトコル (データ通信の規格) です。

通信内容やパスワードがすべて暗号化されるため,インターネットなどの安全ではないネットワーク環境でも,盗聴や改ざんを防ぎながら安全にサーバー管理やファイル転送を行えます。

関連したコマンドに ssh, scp, sftp, rsync などがあります。

ssh
遠隔ログインするためのコマンド
scp
ファイルを転送 (コピー) するためのコマンド (非推奨になったらしい)
sftp
ファイルを転送 (コピー) するためのコマンド
rsync
ファイルやディレクトリを転送 (コピー) するためのコマンド (差分のみを転送できるため高速)

SSH に関する詳しい情報はインターネットで調べてください。

2. SSH でサーバにログインする

今回は SSH の練習として,情報センターのサーバである cc2000.kyoto-su.ac.jp に SSH でログインしてみましょう。

パスワード認証による接続

まずパスワード認証で接続できるかテストします。ターミナルで ssh コマンドにログインしたいユーザ名と接続先を指定して実行します。

$ ssh g1234567@cc2000.kyoto-su.ac.jp

ここではユーザ g1234567cc2000.kyoto-su.ac.jp に接続しています。ユーザ名には各自のメールアドレスの ID を指定してください。

はじめて接続するサーバの場合,サーバの証明書を受け入れるか確認されるので, yes と答えてください。

パスワード入力が求められたら,パスワード (メールや moodle などのパスワード) を入力します。

接続できたら cc2000 上で以下のコマンドを実行してください。 (cc2000$ は cc2000 のシェルプロンプトを表します)

cc2000$ mkdir .ssh
cc2000$ chmod 700 .ssh

exit でいったん切断します。

cc2000$ exit               # サーバから抜けて
$                          # ノートPCに戻った

公開鍵と秘密鍵の作成 (ノートパソコン側での作業)

認証に使用する公開鍵と秘密鍵を作成します。作成には ssh-keygen コマンドを使います。

以前は RSA 暗号がよく使われていましたが,より高速で高いセキュリティを実現する Ed25519 (楕円曲線暗号) が使われるようになっています。

$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/hanako/.ssh/id_ed25519): ※エンターキー
Created directory '/home/hanako/.ssh'.
Enter passphrase (empty for no passphrase):                         ※パスフレーズを入力
Enter same passphrase again:                                        ※パスフレーズを再入力

鍵ペアの作成にはパスフレーズが必要です。パスフレーズはパスワードとは異なるものを使うのが安全ですが,混乱する人が多いので,慣れるまではパスワードと同じにしておけばよいでしょう。

これでユーザのホームディレクトリの下に .ssh ディレクトリが作成され,秘密鍵 id_ed25519 と公開鍵 id_ed25519.pub が作成されます。

公開鍵をサーバに設置する

公開鍵をサーバに設置します。 ssh-id-copy コマンドを使用します。

$ ssh-copy-id g1234567@cc2000.kyoto-su.ac.jp

ssh-id-copy コマンドがない場合は以下のコマンドを実行してください。

$ cat ~/.ssh/id_ed25519.pub | ssh g1234567@cc2000.kyoto-su.ac.jp "cat >> ~/.ssh/authorized_keys"

公開鍵認証で接続する

再度 ssh コマンドで cc2000 に接続してみます。パスフレーズを訊かれるので,鍵の生成時に指定したパスフレーズを入力します。パスフレーズは手元にある秘密鍵の復号に使われるもので,サーバには送られません。

$ ssh g1234567@cc2000.kyoto-su.ac.jp
Enter passphrase for key '/home/hanako/.ssh/id_ed25519':    ※パスフレーズを入力

設定ファイルの作成 (ノートパソコン側での作業)

.ssh/config は ssh の動作を調整するための設定ファイルです。サーバごとにユーザ名などを指定することができます。

Host cc2000
    HostName cc2000.kyoto-su.ac.jp
    User g1234567

といった設定を書いておくと,

$ ssh cc2000

だけで cc2000.kyoto-su.ac.jp にログインできるようになります。

nano を使って以下のような内容の .ssh/config を作成しておきましょう。 (ユーザ名は各自のものに変更すること)

Host cc2000
    HostName cc2000.kyoto-su.ac.jp
    User g1234567

Host *
    Compression yes
    ForwardAgent yes
    ForwardX11 yes
    ServerAliveCountMax 6
    ServerAliveInterval 20
    TCPKeepAlive yes

3. 進んだ設定

keychain, ssh-agent, sshpass といったツールを使うとパスフレーズを自動入力することができます。 Mac の場合,キーチェーン (Keychain) と連携させるもできるようです。

他にもいろいろ便利な設定があるので,興味のある人はインターネット上の情報を調べてみるとよいでしょう。

4. タッチタイピング

毎分120文字を目指して練習してきた成果はいかがでしょうか。

今日は インターネットでタイピング練習 の「ローマ字タイピング」の「腕試しレベルチェック」でスコアを測ってみましょう。あとで調査するので最高スコアを覚えておいてください。

Copyright © 2026 Masahiro Takagi. All right reserved.

Date: 2026-07-13 Mon 09:53

Emacs 29.4 (Org mode 9.6.15)

Validate