#author("2017-02-11T11:41:39+09:00","","")
#navi(../)
* ssh-copy-idを使って、sshの公開鍵認証の鍵登録を簡単に行う方法 [#w27b5f41]
ssh-copy-idって知っていますか?~
ssh-copy-idを使えば複数台の公開鍵登録を自動で行うことができます。~
以下にssh-copy-idの使用方法等を記します。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#tc5c99c6]
-[[sshdを複数ポートでリッスンさせる設定方法>Linux環境設定/sshdを複数ポートでリッスンさせる設定方法]]
-[[sshの接続に時間がかかる場合の対処>Linux環境設定/sshの接続に時間がかかる場合の対処]]
-[[sshの接続が切断されてしまう場合の対処>Linux環境設定/sshの接続が切断されてしまう場合の対処]]
-[[sshによる不正アクセスを確認する>Linux環境設定/sshによる不正アクセスを確認する]]
-[[特定ユーザのみSSHによるログインを可能にする>Linux環境設定/特定ユーザのみSSHによるログインを可能にする]]
-[[sshでのrootログインを禁止しssh経由でのroot権限では指定のコマンドだけを実行できるようにする方法>Linux環境設定/sshのrootログイン禁止だがssh経由でroot権限で指定コマンドを実行する方法]]
-[[Broken pipeでsshが切断される場合の対処>Linux環境設定/Broken pipeでsshが切断される場合の対処]]
-[[ssh-copy-idを使って、sshの公開鍵認証の鍵登録を簡単に行う>Linux環境設定/ssh-copy-idを使って、sshの公開鍵認証の鍵登録を簡単に行う]]

* sshの公開鍵の登録 [#vde690e6]
sshの公開鍵認証を行うためには、以下の手順が必要です。

+(新規に作成する必要があれば)公開鍵と秘密鍵のペアを作成する
+作った公開鍵を接続先ホストの ''~/.ssh/authorized_keys'' に追加する

+は''ssh-keygen''を実行して作成します。
+は手動でも行えますが、しかし、~
++ 接続先ホストにログインしてから作業しなければならない
++ ~/.ssh/authorized_keysは、元々ファイルが存在していないため作成する必要がある
++ エディタ等での ~/.ssh/authorized_keys の編集作業
++ ファイルやディレクトリのパーミッションを適切に設定する必要がある

等々でわりと面倒です。何十台も接続先ホストがあるとすると、かなりの負担になります。~
これを自動で行うのが''ssh-copy-id''コマンドです。


* ssh-copy-idの利用 [#i32b0e34]
通常のssh接続と同様に、引数に''アカウント@接続先ホスト名''を指定して実行します。~
接続先のパスワードの入力を求められるので、それに答えます。

 % ssh-copy-id user01@192.168.10.15
 Password:
 Now try logging into the machine, with "ssh 'user01@192.168.10.15'", and check in:
 
   .ssh/authorized_keys
 
 to make sure we haven't added extra keys that you weren't expecting.

これだけで接続先ホストでの面倒な作業は省略できます。


* 登録する公開鍵ファイルを変える。 [#z87849d9]
登録する公開鍵ファイルはデフォルトで、''~/.ssh/id_rsa.pub''です。~
任意のファイルを指定するには、''-i''オプションで指定します。

 % ssh-copy-id -i ~/.ssh/hoge.pub user01@192.168.10.15
 Password:
 Now try logging into the machine, with "ssh 'user01@192.168.10.15'", and check in:
 
   .ssh/authorized_keys
 
 to make sure we haven't added extra keys that you weren't expecting.

ちなみに、ssh-copy-idの実体は簡単なシェルスクリプトです。~
引数の公開鍵が本当の公開鍵であるかなどのチェックはしていないので、~
ファイルの指定の際には気を付けて下さい。~
(ファイル名の拡張子が''.pub''であれば、どんなファイルでも~/.ssh/authorized_keysに登録してしまいます。)

以上、ssh-copy-idを使って、sshの公開鍵認証の鍵登録を簡単に行う方法についてでした。

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS