公開鍵暗号を利用したパスワード無しでのssh接続
サーバーのデータのバックアップをすることになった。
今回サーバーはレンタルサーバーなのでテープとか外付けHDD付けたりとか出来ない。かといってサーバー内ではサーバーがこけたときにいっしょにこけてしまう。と言うわけで、別のサーバーに転送することにした。rsync + ssh にて。
バックアップに限らず自分のマシンからsshでリモート接続する場合にもいえるのでメモがてらエントリー。
sshを経由したrsyncを行う処理を自動化しようとしても sshアクセス時にパスワードを求められて自動化できない。ローカルマシンから sshでアクセスするときも ID/PW(保存できるソフトもあるけど)を毎回入力するとたまに忘れて、なんだっけと調べることになる。
でパスワード無しでの ssh接続。いわゆる公開鍵暗号方式を使う方法である(参照:公開鍵暗号でSSHのセキュリティを高める)。
自分のマシンでもやろうと思ってずっと保留にしていたのでこの機にがつっとやってしまうことにした。
公開鍵・秘密鍵のペアの作成
ローカルマシンにて公開鍵・秘密鍵のファイルを作成する
$ ssh-keygen -t dsa(またはrsa) -N ''
鍵ペアの名称をカコイイのにしたければ
$ ssh-keygen -t dsa -N '' -f ~/.ssh/otokomae-dsa
とかでw
これで、otokomae-dsa, otokomae-dsa.pub の2つのファイル(ファイル名未指定だと、id_dsa, id_dsa.pubかな)が作られる。前者が秘密鍵、後者が公開鍵である。
公開鍵をリモートサーバーに登録
作成した公開鍵(otokomae-dsa.pub)を接続先のリモートサーバーに登録する。
接続先のサーバーの authorized_keys と言うファイルに作成した公開鍵を登録することになる。
example.com サーバーのユーザー:bob で接続を行いたい場合は、example.comサーバーの bobユーザーの ~/.ssh/authorized_keys に登録する。
具体的には SCPなどで otokomae-dsa.pub を bob@example.com に転送して
example.com$ cat ~/otokomae-dsa.pub >> ~/.ssh/authorized_keys
などとして登録する。 authorized_keys に otokomae-dsa.pub の中身がそのまま記述されればよい。
と書いてるけど、ssh-copy-id があればもっと簡単。鍵ペアを作ったローカルマシンにて
$ ssh-copy-id -i ~/.ssh/otokomae-dsa.pub bob@example.com
で登録ができる。もちろんこの場合 bobユーザーでアクセスする場合にパスワードを求めらるので、パスワード入力でアクセスできるのが前提である。
アクセスしてみる
あとは、実際にパスワードを入力しないでアクセスできるかのテスト。
ssh -i ~/.ssh/otokomae-dsa -l bob example.com
もしダメだった場合は -v オプションとかつけてみるとどこでダメか見れるかも。
接続先サーバーの ~/.ssh と ~/.ssh/authorized_keys のパーミッションがおかしい場合にダメだったりします(自分はここでつまずいた)。それぞれ 700, 600 となっているかを確認してみて下さい。
参考サイト:
Comments
One Response to “公開鍵暗号を利用したパスワード無しでのssh接続”
Leave a Reply
コピー業界取扱ブランド腕時計最大級激安通販!
ルイヴィトンバッグ、エルメスコピー、腕時計ブランドコピー 時計ブランドコピー 腕時計コピー コピー時計 通販は腕時計ブランドコピーN品専売店です。
最高品質のブランドコピー腕時計を取扱っています。
ブランドコピーバッグ、など全て新品商品になります。
★迅速、確実にお客様の手元にお届け致します。
★実物写真、付属品を完備しております。
★低価格を提供すると共に、品質を絶対保証しております。
★商品の交換と返品ができます。
ブランドコピーバッグの誠実と信用の店、
24時間以内に出荷し、3~4日に到着して、
スーパーコピーウブロ時計 https://www.cocoejp1.com/ProductList1.aspx?TypeId=741724312753501