- ベストアンサー
ssh + rsync でパスワードを聞かれなくする方法
SSH + rsync(rsync -e ssh ・・・で ssh 回線で同期)でファイルをコピーする時に、パスワードを聞かれなくする方法はないでしょうか? http://www.okweb.ne.jp/kotaeru.php3?q=323149 などを参考に、公開鍵を作りログイン先のauthorized_keysに登録しました。(公開鍵を作るときにパスフレーズを入力してません。) こうすると、たしかに"パスフレーズ"は聞かれないのですが、"ログインパスワード"は毎回聞かれます。これは仕方がないのでしょうか? ●ファイルのコピー先がファイアーウォールで ssh のポートくらいしか空いていないので、 ssh + rsync を使おうと思っています。 ●同期したいフォルダは複数あるので、スクリプトを作って rsync -avz -e ssh フォルダAを同期 ・・・ rsync -avz -e ssh フォルダBを同期 ・・・ ・・・ という感じで一気に同期できれば便利だな と思っていました。 ところが今のままでは、rsync コマンド一回ごとに ログインパスワードを入力することになってしまいます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
sshd_configでパスワードを有効にしてるとか? # To disable tunneled clear text passwords, change to no here! PasswordAuthentication yes うちはパスワードなしでrsyncできてます。
その他の回答 (4)
- xjd
- ベストアンサー率63% (1021/1612)
(もう一つ追加) linuxのsshdには、libwrapperライブラリが組み込まれています。 # ldd /usr/sbin/sshd libwrap.so.0 => /lib/libwrap.so.0 (0x4001d000) この場合は、/etc/hosts.allowでsshdクライアントからの接続許可 を指定する必要があります。 (/etc/hosts.allow) ALL : 127.0.0.1 sshd : 192.168.0.0/255.255.255.0 (/etc/hosts.deny) ALL : ALL
- xjd
- ベストアンサー率63% (1021/1612)
(追加) >PasswordAuthentication yes >にして、sshd を再起動してみました。 パスワードを無効にするのだから、「no」です。
お礼
すみません。書き間違えていました。「yes」にしています。
- xjd
- ベストアンサー率63% (1021/1612)
>ちなみに、sshdをリスタートすると、次のようなメッセージが出るのですが、 >なにか手がかりはないでしょうか。 なんかへんですね。ホストのキーを作ってください。 (Linuxならインストール時に作ってくれるけど。) ssh-keygen -q -t rsa1 -f /etc/ssh_host_key -C '' -N '' chmod 600 /etc/ssh_host_key chmod 644 /etc/ssh_host_key.pub ssh-keygen -q -t rsa -f /etc/ssh_host_rsa_key -C '' -N '' chmod 600 /etc/ssh_host_rsa_key chmod 644 /etc/ssh_host_rsa_key.pub ssh-keygen -q -t dsa -f /etc/ssh_host_dsa_key -C '' -N '' chmod 600 /etc/ssh_host_dsa_key chmod 644 /etc/ssh_host_dsa_key.pub >Permission denied (publickey,keyboard-interactive). あと、ホーム配下の.ssh/ の権限は700です。
お礼
ありがとうございます。 確認しましたが、上記のファイルはすべてさくせいされていました。.sshも権限700になっているようです。 どうも、Cygwin で sshd を再起動するときはWindowsの管理ツールを使うのですが、あのときたまたま $ /etc/rc.d/init.d/sshd restart こうしてみたのが間違いだったようです。 すみません。
- hetarepyon
- ベストアンサー率52% (94/180)
そもそも ssh 単体で使用したときにパスワードを聞かれていませんか? だとするとサーバへの公開鍵の登録がうまくできていない可能性が高いですよ。 私は FreeBSD がメイン OS なのですが、 mkdir ~/.ssh chmod 700 .ssh cp id_dsa.pub .ssh/authorized_keys でいけてます。無論 Redhat Linux あたりでも手順は変わりません。あなたが実際に行った作業手順を示せば問題点が分かるかもしれません。
お礼
ありがとうございます。 ここを参考に、 http://www.asahi-net.or.jp/~vp5m-snd/sec/tech/SSHs.html http://mitu.dyndns.org/~web/memo7.htm # ssh-keygen -t rsa1 で、公開鍵を作り、リモートホストの.sshディレクトリにidentity.pubを移し、そのディレクトリで # cat identity.pub >>authorized_keys など行いました。 実は、Windows + Cygwin 上で、windows マシンどうしやっていたのですが、 hetarepyon さんに言われて気になったので、Linux にも同様のことをやってみました。 > そもそも ssh 単体で使用したときにパスワードを聞かれていませんか? そのとおりです。でも確かに Win -> Linux では聞かれませんでした。 Cygwin の sshd は特別なのでしょうか。。。 いちおう、最新版の Cygwin なのですが。
補足
おかげさまで、問題点がはっきりしたので、質問の焦点を絞って再投稿します。
お礼
ありがとうございます。(いつもお世話になります (^^)。助かります。) パスワードなしで rsync できている、と聞いて、希望がわいてきました。 PasswordAuthentication yes にして、sshd を再起動してみました。 とりあえず、プライベートネットワークで、sshd が走っているマシン(192.168.0.5)自身に ssh ログインしようとしたのですが、 $ ssh 192.168.0.5 Permission denied (publickey,keyboard-interactive). とでてしまいます。 known_hosts にも authorized_keys にも、192.168.0.5 の 公開鍵 192.168.0.5 ssh-rsa AAAAB3Nza~~~ を書いてあるのですが。。。 もし、なにかありましたらぜひアドバイスをお願いします。
補足
Permission denied (publickey,keyboard-interactive). の件で、Googleを検索したら、 /etc/ssh/sshd_config を次のように編集すればよい。 Protocol 2,1 ↓ Protocol 1,2 」 http://www.zdnet.co.jp/help/tips/linux/l0542.html とあったので、やってみました。 しかし、やはり、Permission denied (publickey,keyboard-interactive) が出ます。 ちなみに、sshdをリスタートすると、次のようなメッセージが出るのですが、なにか手がかりはないでしょうか。 ---------- $ /etc/rc.d/init.d/sshd restart Stopping sshd: [ OK ] Starting sshd:Could not load host key: /etc/ssh_host_key Could not load host key: /etc/ssh_host_rsa_key Could not load host key: /etc/ssh_host_dsa_key Disabling protocol version 1. Could not load host key Disabling protocol version 2. Could not load host key sshd: no hostkeys available -- exiting. [FAILED]