公開鍵の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