skillup

技術ブログ

サーバー・ネットワーク

SSHの鍵認証に関して

投稿日:2017年10月25日 更新日:

SSHの鍵認証についてやり方自体は流れ作業でできていましたが、根本的なところが理解していないので復習。

まずは通常の流れを。

1 クライアント(自分のPC)で公開鍵・秘密鍵を作成。ssh-keygenコマンドを使います。
ssh-keygenコマンドを叩くと~/.sshディレクトリが作成され、このなかに公開鍵(id_rsa.pub)と秘密鍵(id_rsa)が作られます。

2 サーバー側に公開鍵(id_rsa.pub)を配置します。配置といってもメールなどで送るのではなく、scpコマンドで送るのが正しい方法のようです。ちなみに外部のサービス(たとえばGitbuket)などだとサーバーに送ることができないため、id_rsa.pubの内容(ただのテキスト)を登録します。

3 サーバー側で鍵の登録をauthorized_keysに登録します。
具体的には

というコマンドを使い登録します。

4 これでクライアントとサーバーが通信することができます。

もちろん公開鍵と秘密鍵両方ないとダメです。原理はリンク参照。

追記

ppkという秘密鍵はputtey形式のものになり、Linuxサーバーだけでやりとりするケースでは使われません。WinSCPなどを使うときには必要になります。いつもWinSCP使ってるんで作ってましたが・・・
id_rsa⇒pem⇔ppk 相互変換

windowsでのgit導入手順

SSH認証鍵をBitbucketに設定

秘密鍵・公開鍵を作成する(Win)

【秘密鍵】Putty形式⇔OpenSSH形式の変換

参考リンク

SSH鍵認証について+CakePHP2でのセッション切れ

いつも↑のようにやることが多かったですが、逆ですね。ずっとこれで覚えちゃってたからなぁ

共通鍵暗号と公開鍵暗号の解説とSSHでの認証手順

SSHの仕組み!ぼんやりとした理解だったものをすっきりさせようの会

SSHなるものをよくわからずに使っている人のための手引書

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Swift_Mailer(PHPのメール送信。Laravelに入っているライブラリ)

Laravelでメールを送信することがあったんですが使っていたライブラリがSwift_Mailerだったので、ここにメモ。 Swift Mailerのインストール&メールを送信する 今回最初 …

no image

webサーバーがどのように動いているか(GETとPOST)

webがリクエストを受け取って画面に表示するまでの流れをおさらい。基本です。 Contents1 全体の流れ2 参考文献 全体の流れ 1 ユーザーがブラウザのURL欄にhttp://www.examp …

no image

OSコマンドインジェクション

Contents1 OSコマンドインジェクションとは?2 被害3 対策4 参考リンク OSコマンドインジェクションとは? OSに対する命令文を不正に紛れ込ませて攻撃させる手法。 被害 サーバー内のファ …

no image

パス名パラメータの未チェック・ディレクトリトラバーサル

本日もセキュリティ関係のネタを少々。ディレクトリ・トラバーサルという攻撃です。 Contents1 ディレクトリ・トラバーサルとは?2 被害3 対策4 参考リンク ディレクトリ・トラバーサルとは? g …

no image

vagrantでサーバーの状態を保存(snapshot)

上司がAnsible(構成管理ツール)のサンプルをくれたのですが、試そうにもまっさらなサーバーを用意しないといけません。 サーバー環境を新規に契約するのは面倒なのでvagrantで当然考えています。 …