windowsサーバーからpaloaltoに対してssh鍵認証を利用してパスワードレスでログインする方法をまとめてみました。
パスワード入力が不要となると、CLIを利用してpaloaltoに接続して操作するときに便利だなと思ったので試してみました。
また、windowsにおけるssh公開鍵/秘密鍵のペアの作成方法についてもまとめました。
ssh公開鍵を作成する
まずWindowsサーバー側で「ssh-keygen」コマンドを利用してssh公開鍵/秘密鍵のペアを作成します。
・powershellを起動して「ssh-keygen.exe」とコマンドを打ちます。
![ssh認証鍵の作成](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-001.png)
上記コマンド入力後、3回くらい入力を求められることがありますが、デフォルト値でよければすべてそのままEnterを押します。
※このときパスフレーズを設定するとsshログイン時にパスフレーズを要求されますので、パスワードレスにしたい場合にはパスフレーズを入力しないでください。
すると、実行したサーバの「C:\Users\[ユーザ名]\.ssh」というフォルダに「id_rsa」「id_rsa.pub」という2つのファイルが作成されていることを確認できます。
![認証鍵ファイル作成の確認](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-002.png)
このうち、「id_rsa.pub」が公開鍵になります。
必要に応じてリネームするなど分かりやすくするとよいかと思います。
公開鍵を利用してpaloalto側でユーザを作成する
上記で作成した公開鍵を利用してpaloalto側でユーザを作成します。
・[DEVICE]-[管理者]‐[追加]をクリックします。
![paloaltoにてユーザの追加](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-003-800x276.png)
・「公開鍵認証 (SSH) の使用」にチェックを入れて、「キーのインポート」をクリックして、先ほど作成した「id_rsa.pub」をアップロードします。
※「クライアント証明書認証のみを使用 (Web)」や、「ユーザータイプ」のパラメータは任意の設定で構いません。
![ユーザー作成画面で「キーのインポート」をクリック](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-004.png)
![キーのインポート画面](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-005.png)
![インポート済みのユーザー作成画面](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-006.png)
・「Commit」を押して設定を有効化します。
コミットが完了したらユーザの作成は完了です。
ssh接続を試す
windowsサーバー側でssh接続をしてみます。
※今回はpowershellを利用していますがTeraTermなどのクライアントアプリでもOKです。
ssh [接続したい機器のホストネーム or IP] -l [作成したユーザ名]
![初めて接続する機器の場合、接続確認される](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-007-01.png)
初めて接続するサーバになる場合には上記のように
「ほんとに接続しますか?(Are you sure you want to continue connecting (yes/no)?)」
と聞かれるので[yes]と入力して進みます。
![ssh設定後、最初にログイン](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-008.png)
ログインすることができました。
また、以下のように2回目以降の接続は、sshコマンドを入力後パスワードなしでログインすることが可能です。
![ssh設定後、2回目以降のログイン](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-009.png)
ssh認証鍵にパスフレーズを設定している場合
ssh認証鍵にパスフレーズを設定している場合にはssh接続の際にパスフレーズの入力を求められ、パスワードを利用してログインするのと変わらなくなってしまいます。
![パスフレーズ設定時のログイン](https://bonjiri-blog.com/wp-content/uploads/how-to-login-using-ssh-key-authentication-from-windows-server-011-01.png)
さいごに
パスワードレスの接続方法ということを試しておいてなんですが、セキュリティの観点からはパスフレーズなどは基本的には設定するほうがいいと思っています。
ただ、sshの接続経路も安全であり、パスワードレスでssh認証してスクリプトなどを流し込みたい場合などには、今回の方法でパスワードレスの接続をさせるのが楽でよいかと思いました。
コメント