• ベストアンサー
  • すぐに回答を!

CentOS Stream鍵ファイルでrsync

CentOS Stream release 8 鍵ファイルでrsync CentOS Stream release 8の2台のマシンでAからBにフォルダをコピーするシェルを書きたいです。 com-a:192.168.1.11 com-b:192.168.1.12 com-bのログインは鍵ファイルを作っています。 com-aからcom-bにsshでログインするところまではできています。 <192.168.1.11から> ■通常のログイン ssh -i 鍵ファイル root@192.168.1.11 ここまでできていrます。 パスワードは求められません。 ■rsyncでフォルダーのコピー rsync -auvz --delete -e ssh /dir-from root@192.168.1.12:/dir-to/ しかし、これではパスワードを求められます。 rsyncで鍵ファイルは指定できないですか?

共感・応援の気持ちを伝えよう!

  • Linux系OS
  • 回答数2
  • 閲覧数68
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • t_ohta
  • ベストアンサー率38% (4415/11354)

ゴメンナサイ ダブルコーテーション忘れてました rsync -auvz --delete -e "ssh -i 鍵ファイル" /dir-from root@192.168.1.12:/dir-to/

共感・感謝の気持ちを伝えよう!

質問者からのお礼

有難うございます。 ダブルクォーテーションで行けました。

その他の回答 (1)

  • 回答No.1
  • t_ohta
  • ベストアンサー率38% (4415/11354)

rsync -auvz --delete -e ssh -i 鍵ファイル /dir-from root@192.168.1.12:/dir-to/

共感・感謝の気持ちを伝えよう!

質問者からのお礼

有難うございます。 普通に、最初に試すヤツですが、それだとパスワードを求められます。

関連するQ&A

  • 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 コマンド一回ごとに ログインパスワードを入力することになってしまいます。

  • [bash] rsync データバックアップ

    掲題の件で質問させて下さい。 rsync でローカルサーバ(A)のデータをリモートサーバ(B)にコピーしたいのですが、 そのためのシェルを作成でつまづいております。 ▼シェルの中身 ---------------------------------------------------------------------- expect -c " spawn rsync -auvze \"ssh -p 10022\" /tmp/ root@BのIPアドレス:/backup/ expect \"root@BのIPアドレス's password:\" send \"パスワード\" exit 0 " ---------------------------------------------------------------------- ▼実行結果(sh -x /シェルのパス) ---------------------------------------------------------------------- + expect -c ' spawn rsync -auvze "ssh -p 10022" /tmp/ root@BのIPアドレス:/backup/ expect "root@BのIPアドレス'\''s password:" send "パスワード" exit 0 ' spawn rsync -auvze ssh -p 10022 /tmp/ root@192.168.23.44:/backup/ root@192.168.23.44's password:[root@TEST01 scripts]# ---------------------------------------------------------------------- 実行結果を見ると、シングルクォーテーションのエスケープが出来ていない?ようです。 実行結果2行目「expect "root@BのIPアドレス'\''s password:"」 何通りか書き方を変えては見たのですが、どれもうまくいかず、、、 どのように書けば ssh ログインをしてサーバBにデータを送れるようになりますでしょうか。 ※パスワード認証はダメだよ!や、パスワード直書きはダメだよ!といったご指摘は  控えて頂けると助かります。とり急ぎ目の前の問題をクリアしたいので。

  • rsyncをPHPで行いたいのですが、

    いつもお世話になっております。 rsyncをPHPのexecコマンドから行いたいと思っているのですが、 現状、コピー元のサーバー、コピー先のサーバーともroot権限が無い状態ですので、 公開鍵、秘密鍵を作ることができない状況です(root権限無かったら作れないですよね?)。 なので、sshでpassを聞かれても良いのでrsyncを実行しようと思うのですが、 passを聞かれる場合でもPHPのexecコマンドからrsyncを実行することはできますでしょうか? 色々サイトを見ても鍵を生成してパスワードを省略することしか記載されていないので。 ご教授お願いします。

    • ベストアンサー
    • PHP
  • SSH + rsyncがダメです

    パスワード無しでサーバAの/home,/etcをからサーバBの/tmp/内にrsyncでコピーしたいのですがなかなかうまくできません。今のところrsyncで以下のような記述を実行して動作確認まではできました。 rsync -avz -e ssh /home/ サーバB:/tmp/ 当然ながら実行後パスワードを聞かれてしまいます。 そこでSSHの設定をしなければと思いネットを巡って試したのですが、どうしてもパスワードを聞かれてしまいます。 SSHの設定が分かってないのだと思います。 ずばり!を教えていただけるとうれしいです。 環境Redhat7.3 インストールしたままです。何もいじってません。ご教授お願い致します。

  • パスワード入力なしでsshログイン

    パスワード入力なしでsshログインしたいけど上手く行きません。 CentOS7のPCが2台(CentOS7-C, CentOS7-S)あります。 CentOS7-CからCentOS7-Sにパスワード入力なしでsshログイン(鍵認証でログイン)したいと思い、下記のサイトを参考にしながら悪戦苦闘しています。 パスワード入力なしでsshログイン(鍵認証でログイン) https://setting-tool.net/ssh-key-authorize <手順> クライアント側  ssh-keygen -t rsa でキー生成 サーバー側  クライアントで生成したキーを保存 <コマンド> ■前提 クライアント側 CentOS7-C 172.16.0.201 サーバー側 CentOS7-S 172.16.0.202 ■クライアント側設定 キーの発行 [root@CentOS7-C ~]# ssh-keygen -t rsa パーミッション設定 [root@CentOS7-C ~]# chmod 700 /root/.ssh [root@CentOS7-C ~]# chmod 600 /root/.ssh/* キーファイルをサーバー側に送る [root@CentOS7-C ~]# rsync -av -e ssh /root/.ssh root@172.16.0.202:/root/.ssh/from172.16.0.201 この時は手動でパスワード入力 ■サーバー側設定 クライアントからのキーファイルを別名で保存 [root@CentOS7-S ~]# cp /root/.ssh/from172.16.0.201/.ssh/id_rsa.pub /root/.ssh/authorized_keys キーファイルのパーミッション設定 [root@CentOS7-S ~]# chmod 600 /root/.ssh/authorized_keys ■クライアント側から接続 [root@CentOS7-C ~]# ssh root@172.16.0.202 Enter passphrase for key '/root/.ssh/id_rsa': 成功していればパスワードを聞かれずにログイン。 しかし、失敗しているので、パスワードを要求されている。 <考察> クライアントで生成したキーをサーバーにリモートコピーするだけなのに上手く行かない。 シンプルな話、 クライアントの /root/.ssh/id_rsa.pub と サーバーの /root/.ssh/authorized_keys が 同じであれば成立するというだけの話に思えるが、 クライアントでのcat /root/.ssh/id_rsa.pub と サーバーでのcat /root/.ssh/authorized_keys を見比べても全く同じなのに上手く行きません。 何が悪いのでしょうか?

  • rsyncやSSH接続ができません。

    ■rsyncがRSHでなく必ずSSH接続になってしまいます。 環境変数RSYNC_RSHもないのですが何故でしょうか? なおPort番号は22ではなく220をSSHにしています。 rsync -avz /home/test backup-server:/home/backup ssh: connect to host backup-server port 22: Connection refused rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) ■仕方なくSSHで接続しようと試みましたが今度はパーミッションエラーでした。 SSHのバージョンはサーバーは2で、クライアントはCentOS4.1ですがSSHの バージョンがわからない状態です。 SSHのバージョンはどう調べれば良いでしょうか? sync -avz -e "ssh -p 220 -oHostKeyAlias=test-server" /home/backup backup-server:/home/backup Permission denied (publickey). rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) なお、authorized_keysは、id_rsa.pubからコピーしてあり、644。 known_hostsには、test-serverは入っていて、644です。

  • CentOSで別サーバーにデータを定期的に自動バックアップしたい

    現在サーバーが3台あります。 OSは3台ともCentOSです。 サーバーA:WEBサーバー サーバーB:DBサーバー サーバーC:バックアップ(データ保持用) サーバーBのダンプした結果とサーバーAのユーザーがアップロードしたファイルなどのデータをサーバーCに自動でバックアップしたいのですが どのようにやればいいかがわかりません。 rsyncを使えばバックアップはできますが毎回パスワードの入力が必要で完全自動化ができません。 (現在はスクリプトを作って手動で毎回パスワードを入力してやっています) パスワード入力なしに自動でバックアップをサーバーCに転送するにはどうすればいいでしょうか? あとググって↓のページを見つけたのですが こちらによるとSSHのログインをパスワード方式から秘密鍵方式に変更すれば・・・みたいなことが書いてあるのですが 秘密鍵方式を使ってもいいけど パスワード認証によるログインも使えないと別の理由により困ります。 http://www.jitaku-server.net/backup_ssh.html 以上よろしくお願いします。

  • rsyncでAD連携ファイルサーバーにバックアップ

    centOSのSambaファイルサーバーから ActiveDirectory連携認証しているWindowsStrageServer2012ファイルサーバーに rsyncを使用してバックアップする際のコマンドを調べてみたところ インターネットで rsync [オプション] コピー元 コピー先 が基本で リモートホスト上には % rsync -av user@example.com:from_dir/ /foo/to_dir/ というようにするとありました。 ネットワーク上の 普段AD連携認証サーバーにアクセスする際にログインする場合 エクスプローラーのアドレスに \\ファイルサーバー名 と入力して 認証画面で \\ドメイン名\ユーザー名 パスワード を入力してそのファイルサーバーを利用します。 この場合、実際のコマンドがいまいちわからず rsync -av \\ドメイン名\user@ファイルサーバー名:from_dir/ /foo/to_dir/ と予想したのですが、これで理屈上はあっているのでしょうか? よろしくお願いします

  • sshの公開鍵暗号方式について

    今linuxのfedora3でsshのログインをパスワードではなくて公開鍵に変更しようとしています。 rootでssh-keygenによって鍵を作り、rootの/root/.ssh/authorized_keysに鍵を登録すると上手くいき公開鍵暗号方式でのログインができるようになりました。 しかし、rootでないtestというユーザで鍵を作り、/root/.ssh/authorized_keysに鍵を登録してもtestは公開鍵によるログインにならずパスワードによるログインのままでした。試しに/home/test/.ssh/authorized_keysを作って鍵を登録してみたのですが、変化なしです。どこが悪いのでしょう?root以外での公開鍵暗号方式が上手くいきません。 長くなってすみませんが、誰か教えてくれませんか?

  • rsync のバージョンアップについて

    はじめまして。 Linuxは初心者なので、とんちんかんな質問をしてたらすみません。 やりたいこと  rsync を バージョンアップしたい 理由  下記のようなエラーメッセージが出る。  rsync: on remote machine: -ldt: unknown option 状況  AサーバーとBサーバーをlsyncdでファイルの同期をしたいと思い、 ひとまず、lsyncdを起動するとファイル同期はとれるようになりました。 しかし、ファイル変更後に自動で同期がとれるかと状況を見てると、どうやらファイル変更後は同期を取らず、ログを見ると上記のエラーメッセージが表示されていました。 これは -dオプションが無いためだと思いますが、 Aサーバーで 「rsync -ldt」 と、オプションをつけてもエラーにならないため、 まずはrsyncのバージョンを同じにしようと思いましたが、いまいち情報が見つけれれませんでした。 スペックはこちらになります。 Aサーバーは centos 5.3 rsync version 2.6.8 protocol version 29 Bサーバーは centos 4.4 rsync version 2.6.3 protocol version 28 どのようにすればrsyncをバージョンアップできますか? yumで検索しても出てきませんでした。 よろしくお願いします。