ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    CentOS rsync between servers using keyfile to pass credentials

    Scheduled Pinned Locked Moved IT Discussion
    rsynccentos7crontab
    44 Posts 9 Posters 4.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RamblingBipedR
      RamblingBiped
      last edited by RamblingBiped

      You could create a user on each system, specific to this task; and give that user restricted passwordless sudo access to only run the specific rsync command you need to have run.

      Throw your rsync command in a script and restrict your user's passwordless sudo access to running that specific script. Et voila! Authentication issues resolved.

      --edit--

      I think this can help point you in the right direction: https://serverfault.com/questions/596940/sudoers-nopasswd-how-to-grant-access-to-a-specific-ln-command

      1 Reply Last reply Reply Quote 1
      • DustinB3403D
        DustinB3403
        last edited by

        Ok well I can ssh between the servers, but both are asking for the root/.ssh/id_rsa passphrase and the root credentials.

        RamblingBipedR 1 Reply Last reply Reply Quote 0
        • RamblingBipedR
          RamblingBiped @DustinB3403
          last edited by

          @DustinB3403

          @DustinB3403 said in CentOS rsync between servers using keyfile to pass credentials:

          Ok well I can ssh between the servers, but both are asking for the root/.ssh/id_rsa passphrase and the root credentials.

          That is where you would want passwordless sudo access tied to a specific user that will ONLY have that sudo access restricted to running your rsync command.

          You'll be able to log into the remote system using your keys, and with passwordless sudo enabled, you'll not be prompted for a password when you run your sudo rsync... command.

          1 Reply Last reply Reply Quote 0
          • DustinB3403D
            DustinB3403
            last edited by

            @RamblingBiped why can't I use the keys generated for this, rather than needing an outside account with passwordless sudo access?

            RamblingBipedR 1 Reply Last reply Reply Quote 0
            • DustinB3403D
              DustinB3403
              last edited by

              The goal is to only use the public and private keys to allow me to sync files from one server to the other via crontab (without needing to be prompted for credentials)

              The public and private keys should suffice for that.

              1 Reply Last reply Reply Quote 0
              • RamblingBipedR
                RamblingBiped @DustinB3403
                last edited by

                @DustinB3403 said in CentOS rsync between servers using keyfile to pass credentials:

                @RamblingBiped why can't I use the keys generated for this, rather than needing an outside account with passwordless sudo access?

                You can, I was just suggesting how I have set up a similar environment in the past. I didn't want to have to screw around with my user's sudo settings. Also I didn't want a job/task such as this tied to a specific user's account either. By setting it up as a separate user it keeps the task from breaking when I leave the company and they kill my credentials.

                1 Reply Last reply Reply Quote 0
                • DustinB3403D
                  DustinB3403
                  last edited by

                  Ok so stepping back from your approach, I have my pub keys copied to each server, why am I being prompted for the id_rsa passphrase, and root password?

                  travisdh1T Reid CooperR 2 Replies Last reply Reply Quote 0
                  • travisdh1T
                    travisdh1 @DustinB3403
                    last edited by

                    @DustinB3403 said in CentOS rsync between servers using keyfile to pass credentials:

                    Ok so stepping back from your approach, I have my pub keys copied to each server, why am I being prompted for the id_rsa passphrase, and root password?

                    Did you put in a passphrase when asked during the keygen sequence?

                    1 Reply Last reply Reply Quote 0
                    • Reid CooperR
                      Reid Cooper @DustinB3403
                      last edited by

                      @DustinB3403 said in CentOS rsync between servers using keyfile to pass credentials:

                      Ok so stepping back from your approach, I have my pub keys copied to each server, why am I being prompted for the id_rsa passphrase, and root password?

                      To each? Just to one, right?

                      DustinB3403D 1 Reply Last reply Reply Quote 0
                      • DustinB3403D
                        DustinB3403 @Reid Cooper
                        last edited by

                        @Reid-Cooper Correct, I only want to rsync files from one server to the other, not both ways. Using the keys generated.

                        1 Reply Last reply Reply Quote 0
                        • DustinB3403D
                          DustinB3403
                          last edited by

                          Using the rsync command above, I'm still prompted for the admin password of the target server.

                          Which the goal is to solely use the public and private keys for this.

                          travisdh1T 1 Reply Last reply Reply Quote 0
                          • DustinB3403D
                            DustinB3403
                            last edited by

                            Which when I provide the password, the rsync operates without issue.

                            1 Reply Last reply Reply Quote 0
                            • travisdh1T
                              travisdh1 @DustinB3403
                              last edited by

                              @DustinB3403 said in CentOS rsync between servers using keyfile to pass credentials:

                              Using the rsync command above, I'm still prompted for the admin password of the target server.

                              Which the goal is to solely use the public and private keys for this.

                              If you enter a passphrase during the keygen sequence you will need to enter a password to enable use of the ssh key. So, did you enter a password in the questions asked during the keygen?

                              travisdh1T 1 Reply Last reply Reply Quote 1
                              • travisdh1T
                                travisdh1 @travisdh1
                                last edited by

                                @travisdh1 said in CentOS rsync between servers using keyfile to pass credentials:

                                @DustinB3403 said in CentOS rsync between servers using keyfile to pass credentials:

                                Using the rsync command above, I'm still prompted for the admin password of the target server.

                                Which the goal is to solely use the public and private keys for this.

                                If you enter a passphrase during the keygen sequence you will need to enter a password to enable use of the ssh key. So, did you enter a password in the questions asked during the keygen?

                                I know it's so very counter intuitive at first, but enabling key only authentication means you can't enter anything at that point, just enter through those two questions.

                                JaredBuschJ 1 Reply Last reply Reply Quote 0
                                • stacksofplatesS
                                  stacksofplates
                                  last edited by

                                  So to reiterate, here's what I'd do:

                                  If you don't need elevated privileges use a regular account.

                                  ssh-keygen -t rsa -b 4096
                                  

                                  Just enter through the prompts

                                  Then:

                                  ssh-copy-id -i user@remotehost
                                  

                                  Then do the same for the other machine.

                                  What's your output of ls -lZ in the /home/user/.ssh/ directory?

                                  $20 says if you just did a touch authorized_keys it's going to have the wrong permissions/context.

                                  JaredBuschJ 1 Reply Last reply Reply Quote 1
                                  • JaredBuschJ
                                    JaredBusch @travisdh1
                                    last edited by

                                    @travisdh1 said in CentOS rsync between servers using keyfile to pass credentials:

                                    @travisdh1 said in CentOS rsync between servers using keyfile to pass credentials:

                                    @DustinB3403 said in CentOS rsync between servers using keyfile to pass credentials:

                                    Using the rsync command above, I'm still prompted for the admin password of the target server.

                                    Which the goal is to solely use the public and private keys for this.

                                    If you enter a passphrase during the keygen sequence you will need to enter a password to enable use of the ssh key. So, did you enter a password in the questions asked during the keygen?

                                    I know it's so very counter intuitive at first, but enabling key only authentication means you can't enter anything at that point, just enter through those two questions.

                                    It is not counter intuitive at all. it is a second form of authentication. Key + Password. He just messed up and set it up that way. He needs to redo the key without a password.

                                    1 Reply Last reply Reply Quote 2
                                    • JaredBuschJ
                                      JaredBusch @stacksofplates
                                      last edited by

                                      @stacksofplates said in CentOS rsync between servers using keyfile to pass credentials:

                                      So to reiterate, here's what I'd do:

                                      If you don't need elevated privileges use a regular account.

                                      ssh-keygen -t rsa -b 4096
                                      

                                      Just enter through the prompts

                                      Then:

                                      ssh-copy-id -i user@remotehost
                                      

                                      Then do the same for the other machine.

                                      What's your output of ls -lZ in the /home/user/.ssh/ directory?

                                      $20 says if you just did a touch authorized_keys it's going to have the wrong permissions/context.

                                      No, my $20 is on he did not "just enter through the prompts"

                                      stacksofplatesS DustinB3403D 2 Replies Last reply Reply Quote 3
                                      • stacksofplatesS
                                        stacksofplates @JaredBusch
                                        last edited by

                                        @JaredBusch said in CentOS rsync between servers using keyfile to pass credentials:

                                        @stacksofplates said in CentOS rsync between servers using keyfile to pass credentials:

                                        So to reiterate, here's what I'd do:

                                        If you don't need elevated privileges use a regular account.

                                        ssh-keygen -t rsa -b 4096
                                        

                                        Just enter through the prompts

                                        Then:

                                        ssh-copy-id -i user@remotehost
                                        

                                        Then do the same for the other machine.

                                        What's your output of ls -lZ in the /home/user/.ssh/ directory?

                                        $20 says if you just did a touch authorized_keys it's going to have the wrong permissions/context.

                                        No, my $20 is on he did not "just enter through the prompts"

                                        I did say "if" he manually created that file. My initial $20 is with yours.

                                        1 Reply Last reply Reply Quote 1
                                        • DustinB3403D
                                          DustinB3403 @JaredBusch
                                          last edited by DustinB3403

                                          @JaredBusch said in CentOS rsync between servers using keyfile to pass credentials:

                                          @stacksofplates said in CentOS rsync between servers using keyfile to pass credentials:

                                          So to reiterate, here's what I'd do:

                                          If you don't need elevated privileges use a regular account.

                                          ssh-keygen -t rsa -b 4096
                                          

                                          Just enter through the prompts

                                          Then:

                                          ssh-copy-id -i user@remotehost
                                          

                                          Then do the same for the other machine.

                                          What's your output of ls -lZ in the /home/user/.ssh/ directory?

                                          $20 says if you just did a touch authorized_keys it's going to have the wrong permissions/context.

                                          No, my $20 is on he did not "just enter through the prompts"

                                          I did not (just enter through), doing it now.

                                          1 Reply Last reply Reply Quote 0
                                          • DustinB3403D
                                            DustinB3403
                                            last edited by

                                            Wow, so simple, but still when attempting the rsync operation, I'm being prompted for the remote server root password.

                                            Any ideas on that?

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post