Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
12.3. OpenSSH クライアント
クライアントマシンから OpenSSH サーバーに接続するには、openssh-clients パッケージがインストールされている必要があります (&MAJOROS; に新規パッケージをインストールする方法については 「パッケージのインストール」 を参照)。
12.3.1. ssh ユーティリティーの使用
ssh
ユーティリティーを使用すると、リモートマシンにログインしてそのマシン上でコマンドを実行することできます。これは、rlogin
、rsh
および telnet
プログラムに代わるセキュアな手段です。
telnet
コマンドと同様に、以下のコマンドを使用してリモートマシンにログインします。
ssh
hostname
たとえば、penguin.example.com
という名前のリモートマシンにログインするには、シェルプロンプトで以下を入力します。
~]$ ssh penguin.example.com
これで、ローカルマシンで使用しているユーザー名でログインします。別のユーザー名を指定する場合には、以下の形式のコマンドを使用してください。
ssh
username@hostname
たとえば、USER
として penguin.example.com
にログインするには、以下のように入力します。
~]$ ssh USER@penguin.example.com
初回接続時には、以下のようなメッセージが表示されます。
The authenticity of host 'penguin.example.com' can't be established. ECDSA key fingerprint is SHA256:vuGKK9dsW34zrZzwjl5g+vOE6EZQvHRQ8zObKYO2mW4. ECDSA key fingerprint is MD5:7e:15:c3:03:4d:e1:dd:ee:99:dc:3e:f4:b9:67:6b:62. Are you sure you want to continue connecting (yes/no)?
このダイアログの質問に答える前に、常にフィンガープリントが正しいか確認してください。ユーザーは、鍵が正しいかサーバー管理者に尋ねることができます。これは、安全で事前に合意した方法で行う必要があります。サーバーのホスト鍵にユーザーがアクセスできる場合、フィンガープリントは以下のように ssh-keygen
コマンドを使用することで確認できます。
~]# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub SHA256:vuGKK9dsW34zrZzwjl5g+vOE6EZQvHRQ8zObKYO2mW4
以前のバージョンでデフォルトのフィンガープリントである MD5 鍵フィンガープリントを取得する場合は、ssh-keygen
コマンドで -E md5
オプションを使用します。例:
~]# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub -EM md5 MD5:7e:15:c3:03:4d:e1:dd:ee:99:dc:3e:f4:b9:67:6b:62
yes
と入力して鍵を受け入れ、接続を確定します。サーバーが既知ホストの一覧に追加されたことを知らせるメッセージと、パスワードの入力を求めるプロンプトが以下のように表示されます。
Warning: Permanently added 'penguin.example.com' (ECDSA) to the list of known hosts. USER@penguin.example.com's password:
SSH サーバーのホスト鍵が変更された場合、クライアントはサーバーのホスト鍵が ~/.ssh/known_hosts
ファイルから削除されるまで接続を開始できないことをユーザーに知らせます。ただし、これを実行する前に、SSH サーバーのシステム管理者に連絡して、サーバーが被害を受けていないことを確認してください。
~/.ssh/known_hosts
ファイルから鍵を削除するには、以下のようにコマンドを発行します。
~]# ssh-keygen -R penguin.example.com
# Host penguin.example.com found: line 15 type ECDSA
/home/USER/.ssh/known_hosts updated.
Original contents retained as /home/USER/.ssh/known_hosts.old
パスワードを入力すると、リモートマシン用のシェルプロンプトが表示されます。
別の方法として、シェルプロンプトにログインせずに、ssh
プログラムを使用してリモートマシン上でコマンドを実行することができます。
ssh
username@hostname command
たとえば、 / etc / redhat-release
ファイルは、Red Hat Enterprise Linux のバージョンに関する情報を提供します。penguin.example.com
でこのファイルの内容を表示するには、以下を入力します。
~]$ ssh USER@penguin.example.com cat /etc/redhat-release
USER@penguin.example.com's password:
Red Hat Enterprise Linux Server release 7.0 (Maipo)
正しいパスワードを入力すると、ユーザー名が表示され、ローカルのシェルプロンプトに戻ります。