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

sslの設定に関して

実務でサーバーにSSLの設定をすることがあったので書いておきます。 Contents1 SSLとは?2 設定方法全般に関して2.1 秘密鍵2.2 サーバー証明書と中間証明書の合体 SSLとは? 通常の …

no image

vagrant 複数ホストを起動

ansbileを使おうと思ったんですが、ansibleはホスト1→ホスト2という構成になっているため、2台のホストがないと使えません。 MACであればローカル環境からいけますし、Windowsでもcy …

no image

セッションとクッキーについて

セッションとクッキーについての違いを整理しておこうと思います。 Contents1 そもそものHTTPプロトコルについて2 ステートフルな状態を実現するために2.1 方法1 クライアント側で情報を保持 …

no image

クロスサイトスクリプティング(XSS)

これまた非常によく聞く攻撃方法ですね。 Contents1 クロスサイトスクリプティングとは?2 被害3 対策 クロスサイトスクリプティングとは? 動的なページの表示生成の際に悪意のあるスクリプトを埋 …

no image

vagrant share

実はvagrantを使って仮想環境を一時的ではありますが、webから見ることができます。 1 まずはhttps://atlas.hashicorp.com/account/newにてアカウント登録。そ …