Cygwinコマンドでapt-cygを使って公開鍵「id_rsa.pub」秘密鍵「id_rsa」を発行する手順と方法


公開鍵のid_rsa.pubだけをサーバーに転送しておいて、秘密鍵はローカル保存。
2つのキーを合わせることで認証をするシステム

Cygwinを使って、apt-cygで鍵を発行する手順

Cygwinを立ち上げて、以下のコマンドでGitHubからスクリプトをダウンロードできます。

wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
lsでゲットできたかを確認
$ ls
$ apt-cyg ←lsをして設置されていればOK

フォルダに置かれている事が確認できた。
実行権限(パーミッション)をつけてPATHの通っている場所に置きます。

chmod 755 apt-cyg
mv apt-cyg /usr/local/bin/

これでapt-cygが利用できるようになります。
例えばvimをインストールしたい場合は以下のコマンドでできます

apt-cyg install vim

国内のリポジトリから更新するようにするには

apt-cyg -m ftp://ftp.iij.ad.jp/pub/cygwin/ update

apt-cygを取り込んだので、ようやくOpenSSHパッケージ

1. OpenSSH パッケージのインストール

OpenSSH がインストールされていなければ、Cygwin の setup.exe 等でインストールする。
(当方は apt-cyg 導入済みなので apt-cyg コマンドでインストールした)

$ apt-cyg install openssh

2. 鍵ペア(公開・秘密)の生成

以下のコマンドで公開鍵・秘密鍵を生成する。

$ ssh-keygen

作成先・ファイル名を指定しなければ、/home/(ユーザ名)/.ssh/ に id_rsa, id_rsa.pub が作成される。
途中、鍵用のパスワードも入力する。
鍵を使うときにパスフレーズを入力したくない場合は、パスフレーズを空のままにしておきます。

$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):←単にエンター
Enter passphrase (empty for no passphrase):←パスワードの入力
Enter same passphrase again:        ←パスワード確認
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
The key fingerprint is:

サーバー側に公開鍵をリネームして配置してからパーミッション600に直して設置完了

$ mv .ssh/id_rsa.pub .ssh/authorized_keys ←ファイル名の変更
$ chmod 600 ~/.ssh/authorized_keys
$ ls .ssh ←一応、設置がうまくいってるか確認。

Cygwin側に配置した秘密鍵のパーミッションも変更

$ chmod 644 /home/hoge/.ssh/id_rsa

$ ssh -i .ssh/id_rsa hoge@<ホスト名 or サーバIPアドレス>

パーミッションでエラーが出現!644のパーミッションは間違い。

$ ssh -i .ssh/id_rsa hoge@IP
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key ".ssh/id_rsa": bad permissions

パーミッション600で通りました。お疲れ様でした。

$ chmod 0600 ~/.ssh/id_rsa

----------------------------------------------------------------------

TeraTerm編

Teratermをインストールしているならば、Teratermを使って公開鍵を発行して、それをCygwinのフォルダに設置した方が早いのではないかと思いましたが、Cygwinで完結させた方が間違いが少ないと思って、そうしています。

Teratermを使って公開鍵「id_rsa.pub」秘密鍵「id_rsa」を発行
http://www.adminweb.jp/web-service/ssh/index5.html

Teratermの場合には、秘密鍵をフォルダからアップロードする形にしていますが、どう見てもパーミッションなどが甘くなるので、セキュリティ度合いが低くなる事は間違いない気がします。

カテゴリー: 

関連記事


関連記事