0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SSH接続とか、私が初心者の頃に躓いたこと

0
Posted at

SSH (Secure Shell) は、ネットワークを介して別のコンピュータ(サーバーやVM)にログインし、コマンド操作などを行うためのプロトコルです。通信がすべて暗号化されるため、パスワードや送信データが第三者に盗み見られる心配がありません。

1. SSH接続の2つの認証方式

SSHでログインする際、主に以下の2つの方法が使われます。

A. パスワード認証

  • 仕組み: ユーザー名とパスワードを入力してログインする。
  • 特徴: 設定が簡単だが、総当たり攻撃(ブルートフォース)に弱いため、公開サーバーでは非推奨。

B. 公開鍵認証(推奨)

  • 仕組み: 「公開鍵(サーバーに置く)」と「秘密鍵(自分のPCに置く)」のペア(鍵対)を使う。
  • 特徴: 秘密鍵を持っていない限りログイン不可能。非常にセキュア。

2. 実践:SSH接続の手順(CLI)

現代の Windows (PowerShell) や Mac/Linux のターミナルでは、追加ソフトなしで以下のコマンドが使えます。

鍵ペアの作成(自分のPCで1回だけ)

ssh-keygen -t ed25519

ed25519 は、現代で最も推奨される高速かつ安全な暗号方式です。

接続コマンド

ssh ユーザー名@サーバーのIPアドレス
  • 例: ssh cloud-user@192.168.1.10
  • ポート番号がデフォルト(22)でない場合: ssh -p ポート番号 ユーザー名@IP

3. SSHを便利にするツールと機能

configファイル (~/.ssh/config)

毎回長いIPアドレスを打つのは大変です。設定ファイルに情報を書くと短縮できます。

Host my-server
    HostName 192.168.1.10
    User cloud-user
    IdentityFile ~/.ssh/id_ed25519

これにより ssh my-server だけで接続可能になります。

VS Code Remote - SSH (拡張機能)

これまでのWikiで紹介した最強の組み合わせです。

  • 特徴: リモートサーバー上のファイルを、ローカルのVS Codeで開いて直接編集できます。
  • 利点: サーバー側でエディタ(Vimなど)の操作を覚える必要がなく、使い慣れたVS Codeの機能がそのまま使えます。

4. SSH以外のリモート接続手法

用途によってはSSH以外の方法も使われます。

手法 特徴 用途
SCP / SFTP SSHの仕組みを利用したファイル転送。 サーバーへのファイルのアップロード。
RDP (Remote Desktop) Windows標準の画面共有プロトコル。 WindowsサーバーのGUI操作。
VNC Linuxなどのデスクトップ画面を共有。 GUIが必要なLinux操作。
Mosh (Mobile Shell) SSHの拡張。通信が不安定な環境でも接続が切れない。 移動中の作業やスマホからの操作。

5. セキュリティ向上のためのチェックリスト

サーバーを公開する場合、以下の設定(/etc/ssh/sshd_config)を推奨します。

  1. パスワードログインの禁止: PasswordAuthentication no
  2. rootログインの禁止: PermitRootLogin no(管理者権限はログイン後に sudo で取得する)
  3. ポート番号の変更: 標準の 22 から別番号(例: 20022)に変更するだけで、botによる攻撃を大幅に減らせます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?