初回ログインと bash プロンプトの読み方
SSH の仕組み、踏み台 → 演習用サーバの 2 段接続、プロンプトの読み方 ── Linux サーバへの「会いに行き方」を、自分の手でできるようになります。
| 所要時間 | 約 20 分 |
|---|---|
| 章タイプ | standard |
| 前提知識 | 特になし(Web ブラウザが使えれば OK) |
| 使用機材 | 踏み台 workstation01(ブラウザ内ターミナル)+ 演習用サーバ learner01 |
| 関連章 | 前: なし(Part 1 の最初)/ 後: Chapter 2「ファイルシステム階層」 |
ようこそ、Linux の世界へ
「Linux を学んでみたい。でも、どこから始めればいいか分からない」── そんな気持ちでここに来た方に、まず伝えたいことがあります。
最初の一歩は、Linux サーバに「会いに行く」ことです。
サーバは普段、データセンターの暗い部屋でひっそり動いています。ディスプレイを覗き込む人はほとんどいません。代わりに、ネットワーク越しに、文字だけで対話します。その対話の入口が、SSH (Secure SHell) という仕組みです。ssh ユーザー名@サーバ名 という形のコマンド 1 行でサーバに繋がります。(AWS EC2 経験者の方へ: あの ssh ec2-user@… と同じです)
この章での「2 段構え」の話
実は、現場では本番のサーバに直接インターネットからは入れないようになっていることがほとんどです。間に踏み台(ふみだい / jump host / bastion)と呼ばれる入口専用のサーバを挟みます。受講環境も同じ構造にしてあります。
workstation01 → 演習対象 learner01。奥のサーバへは直接入らず、踏み台を 1 枚かませる。実際に手を動かすときは、右の「演習サーバへの接続方法」から Guacamole(=ブラウザだけでリモートのデスクトップやターミナルを開けるツール。専用ソフトのインストールは不要です)経由で、踏み台 workstation01 のデスクトップを別タブで開きます。そこには、すでに alice というユーザーでログインしたターミナルが用意されています。ここから先は、その踏み台ターミナルで何が起きるのかを一緒に追っていきましょう。接続して同じ操作をしながら読んでも、まず読みものとして読んでから接続しても、どちらでも大丈夫です。
これから、その踏み台からもう一段奥にある演習用サーバ learner01 に SSH で入ります。20 分後には、踏み台 → learner01 と 2 段つないで、「自分は今、誰として、どこに居るのか」を確認できるようになっているはずです。
workstation01 から演習用サーバ learner01 に SSH でログインし、プロンプトを読んで「今どこに居るか」を自分の目で確認できるようになっている。この章を終えるとできること
SSH の仕組みを知り、「入る・読む・確かめる・出る」の 4 動作が自分の手でできるようになります。
自分の手でログインできる
今どこに居るか分かる
コマンドで確認できる
踏み台に安全に戻れる
概念説明
1. SSH ってなに? ── ネットワーク越しの「窓と本体」
SSH は、ひとことで言うと 「ネットワーク越しに、別のコンピュータの中で文字をやり取りする」仕組みです。イメージとしてはこんな感じです:
あなたが踏み台のターミナルで ls と打つと、その文字が暗号化されて learner01 に届き、向こうで ls が実行され、結果が暗号化されて戻ってきます。踏み台のターミナルは「窓」で、向こう側のシェルが本体、という関係です。
なぜ暗号化されているかというと、SSH が生まれた 1990 年代に、それまで主流だった telnet という仕組みが「パスワードが平文で流れる」という致命的な弱点を抱えていたからです。SSH はそこを直すために作られました。今、サーバ管理で SSH 以外を使う場面はほとんどありません。
下の図は、ssh student@learner01 を打ってから結果が戻るまでを 6 ステップで追ったものです。▶ 次へ を押しながら、踏み台 workstation01 と演習サーバ learner01 の間で何が起きるかを目で追ってください。
(読み込み中…)
—
2. プロンプトという「現在地表示」
SSH で learner01 にログインに成功すると、こういう表示が出ます:
student@learner01:~$
これを プロンプト と呼びます。プロンプトは「次のコマンドをどうぞ」という入力待ちの目印であると同時に、今あなたがどこに居るかの現在地表示でもあります。各部分の意味を分解してみましょう:
| 部分 | 意味 | 読み方の例 |
|---|---|---|
student | ログインしているユーザー名 | 「student として」 |
@ | 区切り記号 | 「at」 |
learner01 | 接続先のホスト名 | 「learner01 で」 |
: | 区切り記号 | — |
~ | 現在のディレクトリ(=Windows でいうフォルダ)。「自分のホーム」の省略 | 「ホームに居る」 |
$ | 一般ユーザーの入力待ち。# は管理者で危険 | — |
つまり student@learner01:~$ を声に出すと、「student として、learner01 で、ホームに居て、コマンドを待ってます」 という意味になります。
慣れてくると、プロンプトを一目見るだけで「自分は今どのサーバの・誰として・どこに居るか」が瞬時にわかります。複数のサーバに同時に入って作業するようになると、この習慣が事故を防ぐ最強のお守りになります。本番サーバで開発用のつもりで rm -rf を打って真っ青になる、という事故の多くは、プロンプトを見ない癖から生まれます。
演習:踏み台から演習用サーバへ「会いに行く」
| 項目 | 値 |
|---|---|
| 出発地点 | 踏み台 workstation01(あなたは alice でログイン中) |
| 接続先 | 演習用サーバ learner01 |
| 接続方法 | ssh student@learner01 |
| 必要権限 | 一般ユーザー(sudo 不要) |
| 所要時間 | 約 8 分 |
ssh を打ち直すだけ。何度でもやり直せます。STEP 01 · 踏み台から learner01 に SSH する
踏み台 workstation01 のターミナル(alice@workstation01:~$ というプロンプトが出ています)で、まずはこのコマンドを打ってみてください:
ssh student@learner01
初めて接続するときは、こんなメッセージが出ます:
The authenticity of host 'learner01 ...' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])?
これは 「このサーバ、初めて見るけど本当に繋いでいい?」 という確認です。学習環境なので yes と打って Enter。続いてパスワードを聞かれます。パスワードは予約後に運営より個別にご案内します(確認メールの自動送信は準備中です)。入力中の文字は画面に表示されませんが、ちゃんと入力されています(セキュリティ上の仕様です)。
パスワードが見当たらない・メールが届いていない場合は、演習サーバへの接続方法のトラブル欄を確認してください。
Permission denied (publickey,password)」と出たら: パスワードがまだ/違うサインです。ssh student@learner01 を打ち直してパスワードを入れ直してください。何度でもやり直せます。STEP 02 · 現在地を確認する 5 つのコマンド
ログインに成功すると、プロンプトが alice@workstation01:~$ から student@learner01:~$ に変わります。この瞬間、あなたは踏み台から一段奥の learner01 の中に居ます。プロンプトが変わったことが「現在地が変わった」サインです。
ここで、自分の現在地を 5 つの角度から確認してみます:
whoami # 自分が誰として入っているか hostname # 接続先のホスト名 pwd # 現在のディレクトリ(絶対パス) id # ユーザー番号と所属グループ date # サーバ側の現在時刻
こんな出力が見えるはずです:
alice@workstation01:~$ ssh student@learner01 student@learner01's password: ******** Welcome to Ubuntu 24.04 LTS ... student@learner01:~$ whoami student student@learner01:~$ hostname learner01 student@learner01:~$ pwd /home/student student@learner01:~$ id uid=1001(student) gid=1001(student) groups=1001(student) student@learner01:~$ date Sun May 10 14:32:18 JST 2026
id の uid の数字(1001 など)は環境によって変わります。「例と数字が違う」と感じても問題ありません。大事なのは (student) というユーザー名が表示されていることです。
STEP 03 · GOAL ── ログアウトして踏み台に戻る
確認が終わったら、こう打って learner01 から抜けます:
exit logout Connection to learner01 closed. alice@workstation01:~$
プロンプトが alice@workstation01:~$ に戻れば成功です。踏み台に戻ってきたということ。learner01 と踏み台、2 つの場所を行き来できる感覚を覚えておいてください。最後に alice@workstation01:~$ に戻れば、踏み台に帰還した合図です。プロンプトの「左側の名前」だけ見ても、自分が今どっちのサーバに居るかが瞬時にわかる ── これがプロンプトの威力です。
つまずきポイント
ハマり #1 · パスワードを 3 回間違えて切られた
落ち着いて ssh student@learner01 をもう一度打つだけです。何度でもやり直せます。パスワードはタイプ中に画面に表示されません(セキュリティ上の仕様です)。ゆっくり入力してください。
ハマり #2 · 画面がフリーズしたように見える
Ctrl + C でコマンドを中断してみてください。それでも反応しない場合はターミナルウィンドウごと閉じて、もう一度開き直してください。Guacamole セッション自体を更新しても OK です。
ハマり #3 · ssh: connect to host learner01 port 22: Connection refused
演習サーバ learner01 が停止している可能性があります。右ペインのサーバ状態を確認し、「停止中」になっていたら講師に連絡してください。
- 原因: VM が起動していない、または SSH サービスが止まっている
- 対処: 自分では直せないため講師に連絡
AI に相談
修了確認
学んだことが身についたか、2 問だけ確認してみましょう。
問 1 · プロンプトを読み解く
次のプロンプトを見て、(a) ユーザー名、(b) ホスト名、(c) 現在のディレクトリ を答えてください。
alice@workstation01:/var/log$解答を見る
- (a) ユーザー名: alice
- (b) ホスト名: workstation01
- (c) 現在のディレクトリ: /var/log
ポイント: 本文中の ~ は「ホームディレクトリの省略」でしたが、/var/log のような具体的なパスが入っていれば、現在地はそのパスそのものです。/var/log はサーバのログが集まる場所で、これから何度も登場します。
ちなみにこの例の alice@workstation01、見覚えありませんか?あなたが演習開始時に居る踏み台ターミナルのプロンプトそのものです。プロンプトを読む練習を、自分の現在地で日々やっているということです。
問 2 · 実機で確認
演習用サーバにログインしている状態で、「自分のホームディレクトリの絶対パス」を表示するコマンドは何でしたか?
※ STEP 03 で exit して踏み台に戻った人は、実際に試すなら ssh student@learner01 でもう一度 learner01 に入り直してから打ってください。
解答を見る
pwd
pwd は print working directory の略。student ユーザーのホームは /home/student なので、結果もそうなります。
別解: echo $HOME も同じ結果を返します。ただし「今いる場所」と「自分のホームと決められている場所」の違いがあるので、ディレクトリを移動すると差が見えます。試しにディレクトリを移動してから両方打つと違いが見えますが、それは Chapter 2 のお楽しみに。
💡 修了確認の段階ヒント(問 1・問 2)
💡 段階ヒント 1 段目:軽く方向だけ
問 1(プロンプトを読む): プロンプトは @ の左が「誰(ユーザー名)」、右が「どこ(ホスト名)」、: の右が「今いる場所(ディレクトリ)」という決まった構造です。
問 2(コマンドを思い出す): 「今いる場所 = 現在地」を表示するコマンドを思い出してください。この章の演習で使いました。
💡 段階ヒント 2 段目:もう少し具体的に
問 1: student@learner01:~$ を 3 つの要素に分解してみましょう。@ の左 / @ の右 / : の右 ── それぞれ何が入っていますか?
問 2: p で始まる 3 文字のコマンドです。print working directory の頭文字を並べた名前です。
💡 段階ヒント 3 段目:答えと解説
問 1 の答え:
- (a) ユーザー名 =
@の左: alice - (b) ホスト名 =
@の右(:の前): workstation01 - (c) 現在のディレクトリ =
:の右($の前): /var/log
問 2 の答え:
pwd
pwd は print working directory の略。student ユーザーのホームは /home/student なので、結果もそうなります。
次の章へ
この章で、踏み台 workstation01 から演習用サーバ learner01 に SSH でログインし、プロンプトを読んで「今どこに居るか」を自分の目で確認しました。ssh student@learner01 で「会いに行く」感覚を体に覚えたこの経験が、Linux 学習の出発点です。ログインしたあなたが次に直面するのは、「このサーバの中、ファイルがどう並んでいるんだ?」という疑問です。
/、/home、/etc、/var、/usr、/tmpそれぞれの意味と歴史- 「あのファイルはどこに置けば正解か」が自然に分かるようになる
- learner01 の中をディレクトリで巡る演習(
ls/cd/tree)