リモートマシンに安全に接続し、コマンドラインインターフェースにアクセスする必要がある場合、SSHが最適です。セキュアシェルプロトコル(SSH)は、安全でない接続を介してUnix / Linux / BSDマシンにリモートインターフェースするための手段として、数十年にわたって使用されてきました。
SSHは従来のクライアント/サーバー方式で動作し、リモートユーザー(クライアント)はサーバーに接続し、まるでマシンの前にいるかのようにコマンドを実行できます。SSHは、サーバー(おそらく最も安価なウェブホスト)やRaspberry Piをリモートで制御する必要がある場合に特に便利です。これらのシステムは主にLinuxを使用しているため、スクリプトの編集、主要な設定ファイルの変更、さらにはソフトウェアのインストールなどもリモートで簡単に行うことができます。
SSHを開く前に: 資格情報とアクセス
どのオペレーティングシステムからでもSSH接続を開始するには、まずリモートデバイスへの適切なアクセス権と、IPアドレスまたは有効なホスト名のいずれかの形式でのアドレスが必要です。接続を確立するにはアドレスを入力する必要があり、その後、ユーザー名とパスワードの入力を求められます。
SSHが有効になっているウェブホスティングアカウントをお持ちの場合は、ドメイン名をアドレスとして使い、FTPやcPanelと同じユーザー名とパスワードでログインできる可能性があります。それでもうまくいかない場合は、ホストのサイトに記載されている手順をご確認ください。ローカルネットワーク上のサーバーにログインする場合は、コンピューター名/IPアドレスと、リモートデバイスに自分のアカウントが登録されていることを確認する必要があります。
Windows で SSH を使用する
SSH接続はコマンドラインやPowerShellから実行できますが、接続を簡単にする無料のGUIアプリであるPuTTYを使うことを好む人もいます。ここでは3つの方法をすべて説明します。
コマンドプロンプト経由のSSH
1. Windowsのスタートメニューをクリックし、「コマンドプロンプト」を検索します。コマンドプロンプトアイコンをクリックして、新しいプロンプトを起動します。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
2.プロンプトに対象デバイスのユーザー名とIPアドレスを入力し、Enterキーを押します。今回の場合は、ネットワークに接続されたRaspberry Pi 5です。ユーザー名とIPアドレスは@記号で区切ってください。対象デバイスのホスト名がわかっている場合は、IPアドレスの代わりにホスト名を使用してください。
ssh username@IPADDRESS or HOSTNAME
3.パスワードを入力し、Enterキーを押します。これでリモートマシンを制御できるようになりました。終了するには、「exit」と入力するか、Ctrl + Dキーを押すか、コマンドプロンプトウィンドウを閉じてください。
Windows Powershell経由のSSH
1. Windowsのスタートメニューをクリックし、「Powershell」を検索します。コマンドプロンプトアイコンをクリックして、新しいプロンプトを起動します。
2. PowerShellウィンドウで、対象デバイスのユーザー名とIPアドレスを入力し、Enterキーを押します。今回の場合は、ネットワークに接続されたRaspberry Pi 5です。ユーザー名とIPアドレスは@記号で区切ることを忘れないでください。対象デバイスのホスト名がわかっている場合は、IPアドレスの代わりにホスト名を使用してください。
3.パスワードを入力し、Enterキーを押します。これでリモートマシンを制御できるようになりました。終了するには、「exit」と入力するか、Ctrl + Dキーを押すか、PowerShellウィンドウを閉じてください。
PuTTY経由のSSH
1. PuTTY をダウンロードしてインストールします。
2. PuTTY を開きます。PuTTY のユーザーインターフェースには、ホスト名/IP アドレスセクションがあり、SSH 接続するマシンの詳細を入力します。
3.ホスト名または IP アドレス フィールドに適切なアドレスを入力し、 [開く] をクリックします。
4.接続の確認を求められた場合は「はい」と答えます。そのシステムに初めて接続する場合は、確認を求められます。
これでリモート システムに接続されます。
5.プロンプトに従ってユーザー名とパスワードを入力します。パスワードは画面に表示されませんが、これは通常の動作であり、セキュリティ機能です。
これでリモート マシンを制御できるようになり、すべてのコマンドはリモート マシンを使用して実行されます。
6. SSHセッションが終了したら、 「 exit」と入力してEnterキーを押すか、ウィンドウを閉じます。使用していないSSHセッションは必ず閉じてください。誤ってコマンドを送信したり、コンピューターがハッキングされた場合にセッションを開いたままにしたりすることがないようにするためです。
LinuxでSSHを使う
Linuxの主要バージョンでは、SSHはコマンドラインに組み込まれており、そこから簡単にアクセスできます。このチュートリアルではUbuntuを使用しましたが、これらの手順はほぼすべてのLinuxバージョンで使用できます。
1.コマンドラインがまだ開いていない場合は、ターミナルを開きます。Ctrl + Alt + T を押すか、アプリメニューから「ターミナル」を検索してアプリを見つけることもできます。
2. SSHを使用して、ユーザー名とIPアドレス/ホスト名でリモートマシンにログインします。例えば、ユーザー名が「pi」でホスト名が「smartipi」の場合、以下のように入力します。
ssh [email protected]
3. SSH接続のキーが不明であるという警告が表示された場合は、「yes」と入力してください。これは初回接続時に表示される場合があり、キーを入力した後に再接続が必要になることがあります。
4.パスワードの入力を求められた場合は入力します。入力した文字は表示されません。
5. CTRL + D を押すか、「logout」と入力してセッションを終了します。
macOSでSSHを使用する
1.ドックのターミナルアイコンをクリックしてターミナルを起動します。
端末は使用可能です。
2. SSHコマンドに続けてユーザー名@サーバー名を入力します。以下の例では、ユーザー名は「pi」、ホスト名は「raspberrypi.local」です。
ssh [email protected]
3.初めて接続を確認するよう求められたら、「はい」と入力します。
4.プロンプトが表示されたらパスワードを入力します。
5. SSHセッションが終了したら、Ctrl+Dキーを押すか、exitと入力してEnterキーを押します。使用していないSSHセッションは必ず閉じてください。そうしないと、誤ってコマンドを送信したり、コンピューターがハッキングされた場合にセッションが開いたままになったりする恐れがあります。
コマンドを実行してSSH接続を閉じる方法
リモートマシンでコマンドを1つだけ実行したい場合があります。例えば、Raspberry Piをシャットダウンしたい場合などです。-t 引数を使うと、ログインしてコマンドを実行し、出力を待ってからログアウトできます。
1.ターミナル/コマンドプロンプトを開きます。
2. SSHを使用してリモートマシンにログインし、コマンドの末尾に「-t」を追加して、実行したいコマンドを入力し、Enterキーを押します。この例では、Raspberry Piにログインし、poweroffコマンドを実行してRaspberry Piの電源を切ります。
ssh [email protected] -t "sudo poweroff"
3.必要に応じてパスワードを入力します
リモート コンピューターからログオフしてから、タスクを実行する必要があります。