最終更新日:2020/04/04 原本2019-08-15

Linux基本コマンドTips(328):【 ssh-copy-id 】コマンド――SSHの公開鍵を登録する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、SSHの公開鍵を登録する「ssh-copy-id」コマンドです。

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、SSHの公開鍵を登録する「ssh-copy-id」コマンドです。

ssh-copy-idコマンドとは?

 「ssh-copy-id」は暗号や認証を使って通信を行うためのプロトコル「SSH」(Secure SHell)の公開鍵を接続先に登録するコマンドです。

 公開鍵を登録するには、公開鍵のファイルをコピーし、接続先のauthorized_keysファイル(~/.ssh/authorized_keys)に追加したり、authorized_keysファイルがない場合は作成後に適切なパーミッションを設定したりする処理が必要です。ssh-copy-idコマンドではこれらの処理を全て自動実行できます。



ssh-copy-idコマンドの書式

ssh-copy-id [オプション] ユーザー名@接続先

※[ ]は省略可能な引数を示しています。




ssh-copy-idの主なオプション

短いオプション 意味
-n 処理をテストする(公開鍵を登録しない)
-i 鍵ファイル コピーする鍵ファイルを指定する
-p ポート 接続に使用するポート番号を指定する
-o ssh_option SSH接続時のオプションを指定する


公開鍵ファイルを登録する

 「ssh-copy-id 接続先」で、接続先に公開鍵ファイルをコピーします。接続時に使用するユーザー名を指定したい場合は、「ssh-copy-id ユーザー名@接続先」のようにします(画面1)。

 「ssh-copy-id 接続先」では、デフォルトの公開鍵(~/.sshディレクトリ下にある公開鍵)を使用します。使用する鍵ファイルを指定したい場合は「-i」オプションを使います。

コマンド実行例

ssh-copy-id 接続先

(接続先にデフォルトの公開鍵を登録する)

ssh-copy-id 接続先 -i 公開鍵ファイル

(接続先に指定した公開鍵を登録する)

ssh-copy-id study@10.0.2.15

(「10.0.2.15」にstudyというユーザー名で接続し、デフォルトの公開鍵を登録する)(画面1

画面1 画面1 公開鍵ファイルを登録したところ