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のパスワード入力を卒業!ssh-copy-idで安全・快適なログイン環境を作る

0
Last updated at Posted at 2026-05-09

はじめに

SSH接続をする際、毎回長いパスワードやポート番号、ポートフォワーディングのオプション(-L)を打ち込むのが苦痛になっていませんか?

今回は、ssh-copy-id を使った公開鍵認証の導入から、SSH Config を使った「一発ログイン」の設定までを解説します。

1. 鍵ペアの作成

まず、手元の端末で鍵ペアを作成します。すでに作成済みの場合はスキップしてください。

ssh-keygen -t ed25519

2. ssh-copy-id で公開鍵をサーバーへ登録

ここがポイントです。このコマンドを使うと、サーバーの authorized_keys への追記を手動で行う必要がなくなります。

※ 今回はSSHの待ち受けポートが特殊な(22番ではない)ケースを想定しています。

# -p でSSHポートを指定
ssh-copy-id -p <SSH_PORT> <USER>@<REMOTE_IP>

一度だけパスワードを入力すれば、次からは鍵認証でログインできるようになります。

トンネル部分(-L オプション)を使う場合

% ssh -p <SSH_PORT> -L <LOCAL_PORT>:<DEST_INTERNAL_IP>:<DEST_PORT> <USER>@<RELAY_SERVER_IP>

各項目の意味

  • <LOCAL_PORT>: 自分のPC側で待ち受けるポート(例:13389
  • <DEST_INTERNAL_IP>: 踏み台サーバーから見た、接続先マシンの内部IP
  • <DEST_PORT>: 接続先マシンのポート(例:RDPなら3389
  • <RELAY_SERVER_IP>: 踏み台となるサーバー(外から見える方)のIP

3. SSH Config で接続を簡略化する

さらに快適にするため、~/.ssh/config に設定を書き込みます。

Host <NICKNAME>
    HostName <RELAY_SERVER_IP>
    Port <SSH_PORT>
    User <USER>
    LocalForward <LOCAL_PORT> <DEST_INTERNAL_IP>:<DEST_PORT>

4. 実行結果:パスワードなしでログイン

設定完了後、以下のコマンドだけでログインできるようになります。

% ssh <NICKNAME>

実際のログイメージ:

% ssh <NICKNAME>
...

Last login: Thu May  7 18:21:58 2026 from <SOURCE_IP>

<USER>@<HOSTNAME>:~$ 

まとめ

ssh-copy-id を使うことで、安全かつ確実にかつての「パスワード手入力」から卒業できました。設定も数分で終わるので、まだの方はぜひ試してみてください!

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?