公開鍵認証を用いたscpコマンド実行

 1. はじめに

 こんにちは。西日本クラウドテクノロジー部の三輪です。
今回は公開鍵認証を使用してscpコマンド実行時に求められるパスワード入力を省略する方法を紹介したいと思います。

 

 2. 公開鍵認証とは

 公開鍵認証とは「秘密鍵」と「公開鍵」のペアを用いた認証方式です。サーバーへ接続するクライアント側で秘密鍵と公開鍵のペアを作成し、そのうち公開鍵のみをサーバーに登録します。そしてクライアント側から接続する際は秘密鍵で署名を作成し、サーバー側では登録した公開鍵でこの署名を検証し成功した場合に接続が許可されるという仕組みです。

 

 3. 準備するもの

  • 接続先のLinuxサーバー
  • scpコマンドでコピーするファイル

 

 4. 公開鍵・秘密鍵の作成、登録手順

  1. 以下のコマンドを実行します。

    ssh-keygen -t rsa -b 4096

     

  2. 赤枠の部分は作成する鍵のファイル名を入力し、それ以降は全てEnterを押下してください。

     


  3. 作成したキーペア(2種類の鍵ファイル)は/Users/ユーザー名/.sshに配置してください。
    ※手順2でこのディレクトリに作成している場合は不要

     

  4. 以下のコマンドで公開鍵をサーバーに配置します。

    ssh-copy-id <サーバのユーザ名@サーバのホスト名>

     

  5. 赤枠の部分には配置するサーバーのパスワードを入力してください。

 5. scpコマンド実行

  1. 以下のscpコマンドを実行します。

    scp -i <秘密鍵のパス> <コピーするファイルのパス> <コピー先サーバーの接続情報>:<コピー先のディレクトリの絶対パス>

     

  2. コマンド実行後にパスワード認証が求められず、以下のように表示されれば成功です。

     

  3. 実際にサーバーに接続して確認します。

 6. さいごに

 今回は公開鍵認証を用いたscpコマンドの実行方法について紹介しました。パスワード認証をスキップできるのでシェルスクリプトなどで自動化する際にも扱いやすいかと思いますので、ぜひ活用してみてください。

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください