WindowsでのSSHの方法やconfigファイルの作成方法やパスフレーズの省略方法をご紹介!

WindowsでのSSHの方法を紹介します
今回は、WindowsでのSSHの方法を紹介します。ここでは、PowerShellからWSL2(Windows Subsystem for Linux 2)のubuntuにSSH接続します。Windows PC 1台で完結します。
WindowsでのSSHの方法に興味のある方はぜひご覧ください。
環境情報
PowerShellからWSL2(Windows Subsystem for Linux 2)のubuntuにSSH接続します。ローカル(PowerShell)の情報は以下です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
PS C:\> $PSVersionTable Name Value ---- ----- PSVersion 5.1.18362.1171 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.18362.1171 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 PS C:\> SSH -V OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 PS C:\> |
リモート(WSL2のubuntu)の情報は以下です。
1 2 3 4 5 6 |
~$ cat /etc/issue Ubuntu 20.04.1 LTS \n \l ~$ ssh -V OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f 31 Mar 2020 ~$ |
公開鍵と秘密鍵の作成
SSH接続するために、ローカルで公開鍵と秘密鍵を作成します。ssh-keygenコマンドに「-t rsa」オプションを付与してRSA暗号方式で作成します。作成時にパスフレーズを設定してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
PS C:\Users\(ユーザー名)> ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\(ユーザー名)/.ssh/id_rsa): # そのままEnterを押下 Created directory 'C:\Users\(ユーザー名)/.ssh'. Enter passphrase (empty for no passphrase): # passphraseを入力 Enter same passphrase again: # 再度、passphraseを入力 Your identification has been saved in C:\Users\(ユーザー名)/.ssh/id_rsa. Your public key has been saved in C:\Users\(ユーザー名)/.ssh/id_rsa.pub. The key fingerprint is: SHA256:glwgc4NFGjxtfcGyRAYenHR8BzkH9I2p4Dl1reGIGEw (ユーザー名)@(PCの機種名) The key's randomart image is: +---[RSA 2048]----+ | .+BE*+o== | | +X=*= *.o= | | .o+.o=.+* o | | . *.= = o | | + * S o | | o | | | | | | | +----[SHA256]-----+ |
ssh-keygenコマンドが成功すると、~/.sshフォルダが生成されます。.sshフォルダ配下には、id_rsaファイルとid_rsa.pubファイルが生成されます。id_rsaは秘密鍵、id_rsa.pubは公開鍵です。公開鍵はリモート側に格納します。秘密鍵は誰にも知られないように管理してください。
公開鍵の内容を標準出力して、リモート側の~/.ssh/authorized_keysにペーストしてください。
1 2 |
PS C:\Users\(ユーザー名)> cat .\.ssh\id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClQ1ZSy0j****************************************************************************************************************************************************************************************************** (ユーザー名)@(PCの機種名) |
SSH接続
リモート側で、SSHサービスを開始します。以下のコマンドを実行してください。
1 |
ssh_remore:~$ sudo /etc/init.d/ssh start |
ローカルからSSH接続をします。ssh-keygenコマンド実行時に指定したパスフレーズを入力すると、リモート側に接続できます。
1 |
PS C:Users\(ユーザ名)> SSH ${リモートユーザ名}@${IPアドレス} |
接続を終了する際には、「exit」コマンドを入力してください。
configファイル
SSHコマンドを毎回記述するのは面倒です。SSHコマンドのオプションを事前にconfigファイルに記述しておくことで、SSHコマンドをシンプルに記述できます。~/.ssh/configファイルを新規作成して、以下を記述してください。
1 2 3 4 5 6 7 8 9 |
Host myhost # ユーザ名 User ${リモートユーザ名} # ホスト名 Hostname ${IPアドレス} # 鍵ファイルのパス IdentityFile ~/.ssh/id_rsa # コネクションの切断防止(60秒周期でパケット送信) ServerAliveInterval 60 |
SSHコマンドを以下のように記述します。
1 |
PS C:Users\(ユーザ名)> SSH myhost |
パスフレーズの省略
パスフレーズを毎回入力するのは面倒です。ローカルに秘密鍵を登録することで、パスフレーズの入力を省略できます。
事前準備として、ssh-agentサービスを設定します。まず、services.msc を起動します。
1 |
PS C:Users\(ユーザ名)> services.msc |
サービス(ローカル) から「OpenSSH Authentication Agent」を探し、右クリックメニューの「プロパティ」を開き、スタートアップの種類(E)を「自動」にし、サービスを開始します。これでWindows起動時に ssh-agent が自動起動されます。
PowerShellでssh-agentの状態を確認します。RunningであればOKです。Runningでなければ、Windowsを再起動してください。
1 2 3 4 5 |
PS C:Users\(ユーザ名)> Get-Service ssh-agent Status Name DisplayName ------ ---- ----------- Running ssh-agent OpenSSH Authentication Agent |
次にssh-addコマンドで秘密鍵を登録します。
1 2 3 4 |
PS C:Users\(ユーザ名)> ssh-add Enter passphrase for C:Users\(ユーザ名)/.ssh/id_rsa: Identity added: C:Users\(ユーザ名)/.ssh/id_rsa (C:Users\(ユーザ名)/.ssh/id_rsa) PS C:Users\(ユーザ名)> |
秘密鍵を登録した状態でSSHコマンドを実行すると、パスフレーズの入力無しで接続できます。
1 |
PS C:Users\(ユーザ名)> SSH myhost |
以下のようなメッセージが出力されて接続できない場合、最新のOpenSSHをインストールしてください。
1 |
warning: agent returned different signature type ssh-rsa (expected rsa-sha2-512) |
最新のOpenSSHのダウンロードURLは以下です。
https://github.com/PowerShell/Win32-OpenSSH/releases
まとめ
いかがでしたでしょうか。PowerShellからWSL2(Windows Subsystem for Linux 2)のubuntuにSSH接続する方法を紹介しました。Windows PC 1台で完結します。
ぜひご自身でコマンドを打ち込んで、理解を深めてください。
FEnetを運営しているネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


新着案件New Job
【高額年収】/【CCNA取得者歓迎】/ネットワークの構築/BIG-IP/東京都千代田区/【WEB面談可】/在宅ワーク/20代~30代の方活躍中
年収540万~540万円東京都千代田区(神保町駅)東京都中央区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収600万~600万円東京都中央区(小伝馬町駅)【高額年収】/インフラ構築支援/東京都港区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収960万~960万円東京都港区(新橋駅)ガバナンス推進、セキュリティ基盤支援/東京都港区/【WEB面談可】/在宅ワーク/20代~40代の方活躍中
年収780万~780万円東京都港区(新橋駅)カー用品販売会社の情報システム運用/東京都千代田区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/テレワーク
年収576万~576万円東京都千代田区(水道橋駅)ネットワーク構築、検証/東京都渋谷区/【WEB面談可】/テレワーク/20代~40代の方活躍中
年収540万~540万円東京都渋谷区(渋谷駅)
人気記事Popular Posts
DNSエラーが起こる原因と解決方法5つ|パブリックDNSの設定方法
2020-04-23 2022-05-23DNSサーバーは応答していませんと表示される4つの原因|対処法とは?
2020-10-29 2022-05-10Linuxにおすすめのセキュリティソフト11選!主なウイルスの種類も紹介
2020-08-26 2022-04-26DNS_PROBE_FINISHED_NXDOMAINとは?対処法8つを紹介
2020-05-25 2022-05-26DNSサーバーを選ぶ基準5つ|おすすめのDNSプロバイダ4つもご紹介!
2020-09-24 2022-05-26SQL Server Express無償版3つの制限|各エディションの違い
2021-01-28 2022-04-26Linuxの使用に向いているおすすめのノートPC11選!様々な機種を紹介
2020-08-26 2022-04-27【軽量】おすすめのLinuxディストリビューション13選をご紹介します
2020-08-17 2022-04-27AWSの個人での使い途は?活用法3選と個人使用のメリットと注意点
2020-08-27 2022-05-26SSH接続とは?|SSH接続の仕方、パスワード認証と公開鍵認証について解説
2021-03-19 2022-05-26Linuxでログを調査する方法|syslogや/var/log/についても解説
2020-07-31 2022-05-17IPv4とIPv6の違い8つとは?IPv4 over IPv6についても解説
2020-10-29 2022-05-24