このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンド演習59
以下のコマンドの演習を行います。
実際にコマンド操作を行いながら、Linuxの操作に慣れていきましょう。
演習01:自身のPCのIPアドレスを調べます。
・ifconfig コマンドを実行します。
「user01」というユーザーでログインしています。ここで使用しているPCは、学習用の仮想マシンなので、IPアドレスは「10.0.2.15」となっています。
[user01@localhost ~]$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::f837:d171:c269:5035 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:57:5d:71 txqueuelen 1000 (Ethernet)
RX packets 87826 bytes 130004256 (123.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6204 bytes 386022 (376.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 68 bytes 5896 (5.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 68 bytes 5896 (5.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:88:d4:47 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
・ping コマンドで疎通確認しておきます。
[user01@localhost ~]$ ping 10.0.2.15
PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.075 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.034 ms
64 bytes from 10.0.2.15: icmp_seq=4 ttl=64 time=0.035 ms
64 bytes from 10.0.2.15: icmp_seq=5 ttl=64 time=0.039 ms
64 bytes from 10.0.2.15: icmp_seq=6 ttl=64 time=0.044 ms
^C
--- 10.0.2.15 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 4998ms
rtt min/avg/max/mdev = 0.034/0.047/0.075/0.016 ms
ping は通ります。
演習02:「ssh taro@10.0.2.15」で初回接続する。
SSHでは、ホスト認証という仕組みを導入することで、ホストの偽装による偽サーバーへの接続を防ぎます。この仕組みにより、クライアントが正規のサーバーと通信していることを確認し、安全な通信を確保します。
ホスト認証は、クライアントが特定のサーバーに初めて接続する際に行われます。初回接続時には、クライアントはサーバーのホストキー(ホストの公開鍵)を受け取ります。このホストキーは、サーバーの識別情報として利用されます。クライアントは、ホストキーをローカルに保存し、以降の接続時に使用します。
初回接続時にホスト認証用のデータがない場合、クライアントはユーザーに対して警告を表示し、ユーザーにホストキーの保存を求めます。ユーザーが承認すると、クライアントはホストキーを保存し、以降の接続時に使用します。
・「ssh taro@10.0.2.15」で初回接続します。
Linuxには「user01」でログインしていますが、「taro」でホスト「10.0.2.15」に接続します。
[user01@localhost ~]$ ssh taro@10.0.2.15 # taroでSSH接続します。
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
ECDSA key fingerprint is SHA256:S1D7Hcw0FvbMdb4j/Tp3nW3GBJXa5FYqlWmFngR+6UQ.
ECDSA key fingerprint is MD5:e9:63:7b:ce:88:ee:af:87:33:4b:a6:88:51:e0:11:c5.
Are you sure you want to continue connecting (yes/no)? yes #
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
taro@10.0.2.15's password: # パスワードを入力します。
Last login: Fri Jan 19 01:32:31 2024
[taro@localhost ~]$ # taroでSSH接続できました。
taroでSSH接続できました。
演習03:SSH接続を終了する。
SSH接続を終了するには、exit コマンドを実行します
・exit コマンドを実行します。
[taro@localhost ~]$ exit
ログアウト
Connection to 10.0.2.15 closed.
[user01@localhost ~]$
SSH接続が終了して、user01のプロンプトに戻ります。
演習04:SSHで2回目以降の接続を行います。
2回目以降の接続では、パスワードを入力するだけでログインできます。
・「ssh taro@10.0.2.15」で2回目のSSH接続します。
[user01@localhost ~]$ ssh taro@10.0.2.15
taro@10.0.2.15's password: # パスワードを入力します。
Last login: Fri Feb 23 16:53:33 2024 from 10.0.2.15
[taro@localhost ~]$ # taroでSSH接続できました。
2回目からは、パスワードを入力するだけでログインできました。