SSH またはそのフルネームで知られているSecureShell Protocol は、2台のコンピュータがセキュリティで保護されていないネットワークを介して安全に通信できるようにする暗号化ネットワーク通信プロトコルです。 SSHは、リモートログインアプリケーションやターミナルアプリケーションなどのコマンドライン実行可能ファイルによく使用されます。
SSHを使用してサーバーまたは他のコンピューターに接続することを希望するユーザーの場合、これを可能にするには、クライアントとリモート接続の両方にSSHがインストールされ、有効になっている必要があります。
次のチュートリアルでは、 Debian 11 BullseyeデスクトップまたはサーバーにSSHをインストールして有効にし、リモートPCに接続する方法を学習します。 。
- 推奨OS: Debian11ブルズアイ
- ユーザーアカウント: sudoまたはrootアクセス権を持つユーザーアカウント。
チュートリアルでは、アクティビティ>アプリケーションの表示>ターミナルにあるインストールにターミナルを使用します。
例:
Debianを更新します 既存のすべてのパッケージが最新であることを確認するためのオペレーティングシステム:
sudo apt update && sudo apt upgrade -y
チュートリアルでは、sudoコマンドを使用します およびsudoステータスがあると仮定 。
アカウントのsudoステータスを確認するには:
sudo whoami
sudoステータスを示す出力例:
[joshua@debian~]$ sudo whoami
root
既存または新規のsudoアカウントを設定するには、DebianのSudoersへのユーザーの追加に関するチュートリアルにアクセスしてください。 。
SSHのインストール(OpenSSH)
SSHは、最初のディストリビューションインストールで選択したDebianインストールの選択によっては、システムにすでに存在している場合がありますが、不明な場合、または次の手順を使用してインストールする必要がある場合に使用します。
まず、ターミナルで次のコマンドを実行してインストールを開始します。
sudo apt install open-ssh
出力例:
タイプY 、次にENTERキーを押します 続行します。
インストールしたら、次のコマンドを使用してSSHを有効にします。
sudo systemctl enable --now ssh
次に、SSHインスタンスのステータスをチェックして、SSHインスタンスが実行中であり、エラーが発生していないことを確認します。
systemctl status ssh
出力例:
もう1つの便利なトリックは、次のコマンドを使用して開いている接続を確認することです。
ss -lt
出力例:
SSHサーバーへの接続
SSHをインストールして有効にすると、リモートシステム、別のリモートPC、またはサーバーに接続できます。
これを機能させるには、SSHソフトウェアを両端で有効にする必要があることを忘れないでください。
まず、内部/外部IPアドレスまたはホスト名、できれば接続しているアカウントのユーザー名も必要です。次に、sshコマンドを使用して接続を開始します。
ssh username@ip-address/hostname
初めてリモートSSHインスタンスに接続すると、次のメッセージが表示されます。
例:
はい、と入力します 次に、パスワードを入力するように求められます;完了したら、ENTERキーを押します 。
出力例( Fedora 35への接続 リモートPC):
上記のように、パスワードを入力し、joshua @ debian-11の代わりに正常に接続しました。ターミナルウィンドウがリモートセッションにログインしているため、joshua@fedora-35が表示されます。
上記の失敗した試行とともに、最後のログインがいつ行われたかが表示されることに注意してください。これらが多数表示される場合は、ブルートフォース攻撃が発生していることを意味します。より厳格なファイアウォールルールを確認するか、fail2banなどを使用する必要があります。
SSHの無効化(OpenSSH)
SSHを実行する必要がない場合は、セキュリティ上の理由から、SSHを常に無効にする必要があります。多くの悪意のあるボットはインターネットをスキャンしてSSHインスタンスを探し、安全でない場合はブルートフォース攻撃を行います。
SSHを無効にするには、次のコマンドを使用します。
sudo systemctl disable ssh --now
SSHを再度有効にする必要がある場合は、次のコマンドを使用します。
sudo systemctl enable ssh --now