cygwinにsshdをいれてサービス化し、TeraTermでリモートアクセスしてみた

Pocket

cygwinのsshdにTeraTermでリモートアクセス
cygwinのsshdにTeraTermでリモートアクセス

はい。

Windowsのリモートデスクトップが非常に重かったので、cygwinにapt-cygでsshとcygrunsrvをインストールし、sshdをWindowsのサービス化しました。

apt-cygのインストールはこちら。

$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
$ chmod +x apt-cyg

cygrunsrvとsshのインストールはこちら

$ apt-cyg install cygrunsrv openssh

その後、ssh-host-configを実行して、sshdの設定を行います。設定内容は、この記事の下記のリンク先をご参照ください。

書けたら書く: Cygwin で SSHd をインストールする

$ ssh-host-config

=== 2018/3/5追記 ===

上記「ssh-host-config」を実行するには、cygwinのターミナルのアイコンを右クリックして、出てくるポップアップメニューから「管理者として実行」を選択して実行する必要があります。

下図を参考にしてください。なお、この場合に限らず、管理者権限が必要な重要なファイルの変更を行う際にもcygwinのコンソールを「管理者として実行」する必要があります。

cygwinのコンソールを「管理者として実行」
cygwinのコンソールを「管理者として実行」

===

Windowsの「マイコンピュータ」を右クリック→「管理」→「サービス」でWindowsのサービス画面を開くと、

Windowsサービス上でのcygwinのsshd
Windowsサービス上でのcygwinのsshd

このように、cygwinのsshdがWindowsのサービスとして登録されます。

サービスの起動は「自動」となりますが、はじめはsshdサービスが起動していないので、「開始」ボタンをクリックしてsshdサービスを開始します。

次に、ssh-keygenを使って、sshの秘密キーと公開キーを作成します。

$ ssh-keygen -t rsa

キーにパスフレーズを入れないこともできます。sshする際にパスフレーズの入力が不要になります。ただ、セキュリティに弱くはなります。

$ ssh-keygen -t rsa -N ""

 

次に、公開キーを~/.ssh/authorized_keysに保存します。chmodも使ってパーミッションもsshの推奨設定にします。

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 400 id_rsa
$ chmod 600 id_rsa.pub
$ chmod 600 authorized_keys

あとは、パスワード認証を無効にしておきましょう。/etc/sshd_configに以下の記載をします。

PasswordAuthentication no

最後に秘密キーを、ローカルのパソコンに配置します。

これで、TeraTermやWindow10のbashでsshリモートログインできるようになります。

$ ssh username@hostname -i ~/.ssh/id_rsa_XXX -p portnnumber

20171104 参照記事 ありがとうございますOSZ

cygwin sshd – Google 検索
cygwin sshd windows10 – Google 検索
書けたら書く: Cygwin で SSHd をインストールする
Cygwinのインストールとapt-cygのインストール – Qiita