Cygwinを使って公開鍵「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

参照:http://qiita.com/FSMS/items/68b5956301d987d1be2b

以下は別ソース
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

参考:http://www.mk-mode.com/octopress/2012/09/18/18002034/
 

【複数の鍵を管理する】

ファイルを分けて、それをIdentityFileに書き込むことで、複数の鍵・ユーザーを管理する手法
鍵、ユーザ名、ssh バージョンなどを使い分けなければならない場合にとても便利という事です。

~/.ssh/configを記述する

Host test.org
    HostName        test.org
    IdentityFile    ~/.ssh/id_rsa.test.org
    User            test_user
Host hoge.in
    HostName        hoge.in
    Port            22222
    IdentityFile    ~/.ssh/identity
    User            hoge_use
    Protocol        1

参考:http://superbrothers.hatenablog.com/entry/20090730/1248971671

カテゴリー: 

関連記事


関連記事