【OpenSSH】WindowsからWindowsに鍵認証でSSH接続する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【OpenSSH】WindowsからWindowsに鍵認証でSSH接続する

2024-3-5 |
200px200px

WindowsからWindowsに鍵認証でSSH接続してcliでごにょごにょしたい!

概要

今回の記事では、WindowsからWindowsに鍵認証でSSH接続してcliごにょごにょする手順を掲載する。

パスワードを毎回入力するのが面倒セキュリティ的に鍵認証できるようにする。

仕様書

環境

  • Windows 23H2 OSビルド 22631.3296(接続先・接続元共に)
  • OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3

手順書

  1. 下記の記事を参考にSSH接続できるようにしておく。
  2. 接続先、接続元のどちらでもいいので鍵を作る。
    ssh-keygen

    passphraseを使う場合は入力したりしながらEnterを押して鍵を作成する。
    デフォルトだと下記に鍵ファイルが作成される。

    C:Users\<username>\.ssh\id_rsa
    C:Users\<username>\.ssh\id_rsa.pub

    拡張子がpubとなってるファイルが公開鍵、拡張子がないファイルが秘密鍵。

  3. 秘密鍵は接続元のPCに保管する。どこにファイルを配置しても良い。今回はそのままC:Users\<username>\.ssh\id_rsaに置く。
  4. 公開鍵は接続先のPCに保管する。公開鍵の方は配置する場所やファイル名が決まっててC:Users\<username>\.ssh\authorized_keysのようにする。
  5. 接続先でsshdの設定ファイルを編集する。設定ファイルはC:\ProgramData\ssh\sshd_configにある。
    34行目の付近の下記のコメントアウトを解除して、公開鍵認証を有効にする。

    PubkeyAuthentication yes

    51行目の付近の下記のコメントアウトを解除して、パスワードを無効にする。

    PasswordAuthentication no

    87-88行目の付近の下記のコメントアウトする。

    #Match Group administrators
    #      AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
  6. 設定ファイルの変更を有効にするため、sshdを再起動する。
    Restart-Service sshd
  7. 接続元の設定ファイルを編集して簡単に鍵認証でSSH接続できるようにする。設定ファイルはC:Users\<username>\.ssh\configにある。
    Host hostname
    HostName <Hostname or IP Address>
    User example@hotmail.com
    Port 22
    IdentityFile ~\.ssh\id_rsa

    設定ファイルの中身はこんな感じ。

  8. 下記のような感じでSSH認証できる。
    ssh hostname

楽だ!(設定は面倒だ)

まとめ(感想文)

WindowsもLinuxみたいな感じでログインできるようになって便利かもね!

参考文献・引用