この記事では、Linuxサーバーにユーザーの公開鍵を簡単に登録する方法が分かります。
Linuxサーバーにユーザーの公開鍵を登録する場合、ログインしてディレクトリの作成、権限の変更、公開鍵の登録と細々とやっていましたが、
ssh-copy-idコマンドで一瞬で登録できることを知ったので、その方法を紹介します。
ssh-copy-idコマンドで公開鍵を登録する
結論
ssh-copy-idコマンドを実行して、ユーザー配下のフォルダに公開鍵を登録する。
ユーザー作成時は、ユーザー配下に.ssh/のディレクトリはありませんが、ssh-copy-idコマンドを実行すると、
ディレクトリの作成、authorized_keysファイルの作成、ファイル内に公開鍵の登録をしてくれます。
以下のように、ユーザー名とサーバーのIPアドレスを指定して実行します。
ssh-copy-id {username}@{sever_ip-adress}
また、オプション-iを使うことにより公開鍵を指定することもできます。
オプションなしで実行した際に、ed25519鍵ではなく意図せずrsa鍵が登録されたので、登録したい鍵指定するのが良いと思います。
※デフォルトでssh鍵が登録もしくは作成日が最新の鍵が登録される?
ssh-copy-id -i "登録したい公開鍵"{username}@{sever_ip-adress}
サーバー側のsshポートを変更している場合は、オプション-pの指定も忘れずに。
ssh-copy-idコマンドを使うメリット
サーバーへログインしなくても良いため、以下のようなオペレーションミスをしにくくなるといったメリットがあります。
メリット
▢authorized_keysファイル作成時のスペルミス
▢フォルダおよびファイル権限のパーミッションミス
▢公開鍵の登録ミス
手作業で実行すると、ログインできなかった際の切り分けに多少時間がかかるので面倒です。
まとめ:Linuxサーバーにssh-copy-idコマンドで簡単に公開鍵を登録する
ssh-copy-idコマンドを利用することで、公開鍵の登録ミスがなく格段に楽になります。
他のユーザーに公開鍵の登録を依頼するときにも、このコマンド実行してと伝えるだけなので、.ssh/フォルダを作成して~、と説明も省けるので時短になります。
※本来は根本的な仕組みを説明するとお互いに理解が深まるので、時間があれば説明するのがベターかと思います。
最後まで読んでいただきありがとうございました。