Windows – Linux間のSSH接続
2020/01/20 追記
元々の記事はWindows Server 2012を想定して書いていたが、Windows Server 2019 またはWindows 10 1803からはOSで正式にサポートされるようになった。
インストール及び設定は下記にわかりやすくまとめられている。
Windows Server 2019 : OpenSSH : SSHサーバーの設定 : Server World
2017-09-26
Windows ServerからCentOSへSSH接続、またその逆にCentOSからWindows ServerへSSH接続する方法のまとめ。
Windows ServerからCentOSへSSH接続
以下はサーバー(CentOS)側のsshd_config設定時以外は、すべてクライアント(Windows Server)のPowerShellで操作。
OpenSSHの導入
下記の公式Wikiを参考にOpenSSHのダウンロードからインストールまで。
環境変数に追加
どこからでもsshコマンドが使用できるように環境変数へ追加しておく。
> $Env:Path += ";C:\Program Files\OpenSSH-Win32" > [Environment]::SetEnvironmentVariable('PATH', $Env:Path, 'Machine')接続テスト
> ssh ユーザー名@接続先のIPアドレス > 初めて接続したときは確認されるので「Yes」と入力 > パスワード入力公開鍵認証
毎回パスワードを求められるのも煩わしく、スクリプトも組みにくい。
そこで、公開鍵認証を利用し、パスワード入力なしでSSH接続させる。まず、クライアント側で公開鍵を生成する。
サーバー側ではsshd_configの設定を行い、クライアントの公開鍵を設置する。
あとは初回だけ下記のように自身の秘密鍵を指定して接続しにいけばよい。> ssh -i .ssh/id_rsa ユーザー名@接続先のIPアドレス2回目以降は通常通りのやり方でパスワードを聞かれずに入れる。
> ssh ユーザー名@接続先のIPアドレスやり方の詳細は「ターミナルからパスワード入力無しでssh接続する3つの方法 」を参照。
CentOSからWindows ServerへSSH接続
上記でOpenSSHは導入済みとする。
CentOS側はデフォルトで入っているはず。
CentOSで公開鍵を生成し、Windows Serverへ送ってやればよい。[参考] CentOS7.2→Windows server 2012 R2にSSHで接続する
途中、Permission Deniedに悩まされることもあったが、公式の手順とアクセス権をきちんと見直すことで無事完了。
ディスカッション
コメント一覧
まだ、コメントがありません