SSHの使い方完全ガイド|基本コマンドから鍵認証の設定まで

SSHはリモートサーバーへ安全に接続するための必須ツールです。エンジニアならば日常的に使うコマンドですが、初めて触れる方には少し難しく感じるかもしれません。この記事ではSSH(Secure Shell)の基本的な使い方を、接続コマンドから鍵認証の設定まで、丁寧に解説します。

SSHとは?

SSH(Secure Shell)は、ネットワーク越しにリモートサーバーを安全に操作するための暗号化プロトコルです。Webサーバーの管理・ファイル転送・コマンド実行など、あらゆるサーバー作業の基盤となります。従来のTelnetやFTPと違い、通信が暗号化されているため、パスワードや操作内容が傍受されません。

SSHコマンド早見表

操作コマンド
基本接続ssh ユーザー名@ホスト名
ポート指定ssh -p 8022 ユーザー名@ホスト名
秘密鍵指定ssh -i ~/.ssh/id_rsa ユーザー名@ホスト名
鍵ペア生成ssh-keygen -t ed25519
公開鍵をサーバーに登録ssh-copy-id ユーザー名@ホスト名
ファイル転送(SCP)scp ファイル名 ユーザー名@ホスト名:/転送先パス
接続を終了exit または Ctrl+D

SSHの基本的な使い方

1. 基本の接続コマンド

最もシンプルなSSH接続コマンドは以下のとおりです。

ssh ユーザー名@接続先ホスト名(またはIPアドレス)

例えば、ユーザー名がtaroでIPアドレスが192.168.1.100のサーバーに接続する場合:

ssh taro@192.168.1.100

ポートが22番以外(例: 8022)の場合は-pオプションで指定します:

ssh -p 8022 taro@192.168.1.100

2. SSH鍵認証の設定手順

パスワード認証よりも安全で便利な公開鍵認証の設定方法を紹介します。

  1. 鍵ペアを生成する:ssh-keygen -t ed25519 を実行。保存先とパスフレーズを設定します。~/.ssh/id_ed25519(秘密鍵)と~/.ssh/id_ed25519.pub(公開鍵)が生成されます。
  2. 公開鍵をサーバーに登録する:ssh-copy-id ユーザー名@ホスト名 を実行すると、公開鍵がサーバーの~/.ssh/authorized_keysに自動登録されます。
  3. 鍵認証で接続確認:ssh -i ~/.ssh/id_ed25519 ユーザー名@ホスト名 でパスワードなしで接続できれば成功です。
  4. パスワード認証を無効化(推奨):サーバーの/etc/ssh/sshd_configPasswordAuthentication noに設定し、SSHサービスを再起動します。

3. ~/.ssh/config でSSH接続を簡略化

毎回長いオプションを入力するのが面倒な場合は、~/.ssh/configファイルに接続設定を書いておくと便利です。

Host myserver
    HostName 192.168.1.100
    User taro
    Port 8022
    IdentityFile ~/.ssh/id_ed25519

上記を設定しておくと、以下のコマンドだけで接続できるようになります:

ssh myserver

4. SCPでファイルを安全に転送する

SSH経由でファイルを転送するにはscpコマンドを使います。

# ローカル → サーバーへ転送
scp /local/file.txt taro@192.168.1.100:/remote/path/

# サーバー → ローカルへ取得
scp taro@192.168.1.100:/remote/file.txt /local/path/

SSH運用のポイント

  • 秘密鍵は厳重に管理:秘密鍵(id_ed25519など)が漏洩すると不正アクセスの原因になります。絶対に公開・共有しないこと。
  • パスフレーズを設定する:万が一秘密鍵が盗まれても、パスフレーズがあればすぐには悪用されません。
  • 鍵の種類はEd25519を推奨:RSA(-t rsa)より安全で高速なed25519アルゴリズムの利用を推奨します。
  • デフォルトポートの変更を検討:22番ポートは攻撃対象になりやすいため、変更することでセキュリティが向上します。
  • SSHエージェントを活用:ssh-addコマンドでセッション中のパスフレーズ入力を一度で済ませられます。

まとめ

SSHはエンジニアにとって必須のツールです。基本の接続コマンドをマスターし、鍵認証と~/.ssh/configを設定すれば、日々のサーバー管理が格段に効率化します。セキュリティ意識を持って運用し、安全で快適なリモート作業環境を手に入れましょう。

タイトルとURLをコピーしました