Edited at

Windows10でsshする


Windows10でsshする


  • Windows10でsshするのちょっと難しすぎない?

  • 備忘録として手順を書いておく

  • コマンドはPowershellコマンド


サーバとクライアントの構成


  • サーバOS


    • Windows10 Home



  • クライアントOS


    • Windows10 Home




1. sshを入れる



  • sshがデフォルトで入っている場合


    • 何もしなくてよいがsshサーバ機能はデフォルトでは有効になっていないはず

    • Windowsでoptionで検索


      • オプション機能を追加する

      • 機能の追加

      • OpenSSHサーバを追加






  • sshがデフォルトで入っていない場合


    • こっちはあんまり今回想定してないよ

    • 以下のURLからダウンロードするらしいことは書いておく

    • https://github.com/PowerShell/Win32-OpenSSH/releases



  • サーバとクライアント両方にいれる



2. ポート開放


  • 管理者権限でPowerShell起動


    • これ実行


      • netsh advfirewall firewall add rule name="sshd" dir=in action=allow protocol=TCP localport=22





  • サーバとクライアント両方でやる


3. sshdを起動


  • サーバ側設定


    • サービスに登録


      • sshd install



    • サービス起動


      • Start-Service sshd



    • 自動起動設定



      • Set-Service sshd -StartupType Automatic






  • この辺で一回再起動した方が良いかも


4. 接続


  • ssh ユーザ名@サーバIPもしくはホスト名


    • ホスト名はhostsファイルを編集してくれ


      • C:\Windows\System32\drivers\etc\hosts



    • パスワード設定してないのにパスワード聞かれて詰む場合


      • パスワード設定しておけ



    • ユーザ名がわからないんだけど


      • サーバでwhoamiコマンド実行


        • \の前がユーザ名だから

        • →\の後がユーザ名でした。ozraruさんご指摘ありがとうございます。







  • 接続がタイムアウトする場合


    • ファイアウォールが原因か、サーバ側でポート開放できてない

    • ウィルスセキュリティソフトが原因かも

    • それ以外ならお手上げ



  • 接続できることを確認


5. 鍵認証方式


  • いちいちパスワード入力してたらめんどくさい

  • スクリプトで自動的にログインして何かしたいときに困る

  • なのでサーバでパスワード聞くのやめる



    • C:\Windows\System32\OpenSSHの中にsshd_configを作る


    • sshd_config_defaultをコピーしてつくる


    • PubkeyAuthentication yesのコメントを外せ

    • sshdを再起動


      • Restart-Service sshd





  • クライアントでキーを作る


    • 鍵の名前はmykeyという名前にしようか

    • ssh-keygen -t rsa -f mykey



  • クライアントのキーはどこでもいいけど.ssh/においておこう


    • mv mykey ~/.ssh/mykey



  • 公開鍵をサーバに配置


    • scp mykey.pub ユーザ名@ホスト名もしくはip:

    • これでサーバの~にmykey.pubが置かれているはず



  • サーバの公開鍵の名前を変更


    • すでに~/.ssh/authorized_keyがある場合


      • cat mykey.pub > ~/.ssh/authorized_key



    • ない場合


      • mv mykey.pub ~/.ssh/authorized_key





  • ログインしよう


    • ssh -i 秘密鍵のパス ユーザ名@ホスト名もしくはip

    • パスワード聞かれなければOK




感想

一番時間がかかったのはsshd_configの置き場所。

ここに置くってどこに書いてあるんだろ。