SSHとは?
SSH(Secure Shell)は、管理者が暗号化された接続でサーバーやネットワーク機器にログインするための標準的な方法です。ほぼすべてのLinuxサーバーが、これを通じて管理されています。
エンジニアに相談する ナレッジベース
どういうものか
SSHを使うと、管理者は遠隔のマシンでコマンドラインを使えます。ログイン自体を含め、接続上で送られるものはすべて暗号化されます。パスワードを平文で送っていたTelnetなどの古いツールに取って代わりました。一般的な実装はOpenSSHで、Linux、macOS、現行のWindowsに付属しています。サーバーは既定でポート22でSSHを待ち受けます。
同じ接続で、コマンドの実行以外もできます。ファイルのコピー(SCPやSFTP)や、暗号化されたトンネルを通じた他の通信の伝送も可能です。GitやAnsibleなどのツールは、内部でSSHを使っています。
パスワードではなく鍵を使う
SSHはパスワードでもログインできますが、より良い方法は鍵ペアです。秘密鍵は管理者のコンピューターに残り、どこにも送られません。対応する公開鍵をサーバーに置きます。ログイン時に、サーバーはその人が秘密鍵を持っていることを確認します。鍵はパスワードのように推測できず、管理者ごとに別々の鍵を持つため、アクセスを一人ずつ取り消せます。
企業にとって重要な理由
- サーバー運用の基本です:Linuxサーバー、ファイアウォール、スイッチの更新、修復、設定は、SSHで行われます。
- 標的になります:インターネットから届くSSHサーバーは、自動化されたパスワードの推測を常に受けています。
- アクセスには管理者が必要です:人が退職した後にサーバーに残された鍵は、使えたままです。誰がログインできるかの一覧を管理する担当者が必要です。
望ましい運用
- 鍵のみ:鍵を設定したら、パスワードでのログインを無効にします。
- rootで直接ログインしない:管理者は自分自身のアカウントでサインインし、必要なときに権限を引き上げるため、ログに誰が何をしたかが残ります。
- 開かれたインターネットに公開しない:SSHにはVPNや、TailscaleやWireGuardのようなプライベートネットワーク経由で接続するか、ファイアウォールで既知のアドレスだけに制限します。
- 秘密鍵を守る:パスフレーズを設定するか、ハードウェアセキュリティキーに保管します。
- 退職時に鍵を削除する:退職手続きの一部として扱います。
KawaConnectのSSHの扱い方
当社は、担当するLinuxサーバー、ファイアウォール、ネットワーク機器を、鍵によるログインで、SSH経由で管理し、リモートアクセスをインターネットに開いたままにしません。アクセスは文書化されるため、お客様は誰が自社のシステムに接続できるかを確認できます。これは当社のLinuxサーバーサポートとネットワークセキュリティ業務の一部です。
関連サービス
Linuxサーバーサポート
管理、パッチ適用、監視、バックアップを行うサーバー。
ネットワークセキュリティ
管理用ポートを開けたままにしないリモートアクセス。
ネットワークとファイアウォール
設定と文書化を行うファイアウォールとスイッチ。
詳しく見る
- WikipediaのSecure Shellプロトコルの概要、歴史、用途を中立的にまとめています。
- OpenSSHほとんどのシステムのSSHソフトウェアを開発するプロジェクトで、マニュアルページがあります。
- Arch WikiのOpenSSH鍵の設定とサーバーの堅牢化に関する実用的なリファレンスで、どのLinuxディストリビューションでも役立ちます。
- OpenSSH for WindowsWindowsに組み込まれたSSHクライアントとサーバーに関するMicrosoftのガイドです。