bash: /home/user/.ssh/authorized_keys: No such file or directory

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








up vote
16
down vote

favorite
9












Create a ssh key:

Command:



ssh-keygen -t rsa –P ""


Moving the key to authorized key:

Command:



cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory









share|improve this question



















  • 1




    ~/.ssh/authorized_keys are keys of other computers that you connected to/trust, not your own key.
    – saiarcot895
    May 15 '14 at 19:58










  • Some applications require passwordless ssh to one's own machine.
    – Nehal J Wani
    May 15 '14 at 20:03










  • Please don't post the same question on multiple sites of the Stack Exchange network.
    – terdon♦
    May 16 '14 at 0:43










  • Why you need to trust the key you own? Exactly what are you trying to do?
    – Braiam
    May 16 '14 at 1:27















up vote
16
down vote

favorite
9












Create a ssh key:

Command:



ssh-keygen -t rsa –P ""


Moving the key to authorized key:

Command:



cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory









share|improve this question



















  • 1




    ~/.ssh/authorized_keys are keys of other computers that you connected to/trust, not your own key.
    – saiarcot895
    May 15 '14 at 19:58










  • Some applications require passwordless ssh to one's own machine.
    – Nehal J Wani
    May 15 '14 at 20:03










  • Please don't post the same question on multiple sites of the Stack Exchange network.
    – terdon♦
    May 16 '14 at 0:43










  • Why you need to trust the key you own? Exactly what are you trying to do?
    – Braiam
    May 16 '14 at 1:27













up vote
16
down vote

favorite
9









up vote
16
down vote

favorite
9






9





Create a ssh key:

Command:



ssh-keygen -t rsa –P ""


Moving the key to authorized key:

Command:



cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory









share|improve this question















Create a ssh key:

Command:



ssh-keygen -t rsa –P ""


Moving the key to authorized key:

Command:



cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory






command-line ssh






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 16 '14 at 1:25









Braiam

50k20131214




50k20131214










asked May 15 '14 at 19:50









user282060

81113




81113







  • 1




    ~/.ssh/authorized_keys are keys of other computers that you connected to/trust, not your own key.
    – saiarcot895
    May 15 '14 at 19:58










  • Some applications require passwordless ssh to one's own machine.
    – Nehal J Wani
    May 15 '14 at 20:03










  • Please don't post the same question on multiple sites of the Stack Exchange network.
    – terdon♦
    May 16 '14 at 0:43










  • Why you need to trust the key you own? Exactly what are you trying to do?
    – Braiam
    May 16 '14 at 1:27













  • 1




    ~/.ssh/authorized_keys are keys of other computers that you connected to/trust, not your own key.
    – saiarcot895
    May 15 '14 at 19:58










  • Some applications require passwordless ssh to one's own machine.
    – Nehal J Wani
    May 15 '14 at 20:03










  • Please don't post the same question on multiple sites of the Stack Exchange network.
    – terdon♦
    May 16 '14 at 0:43










  • Why you need to trust the key you own? Exactly what are you trying to do?
    – Braiam
    May 16 '14 at 1:27








1




1




~/.ssh/authorized_keys are keys of other computers that you connected to/trust, not your own key.
– saiarcot895
May 15 '14 at 19:58




~/.ssh/authorized_keys are keys of other computers that you connected to/trust, not your own key.
– saiarcot895
May 15 '14 at 19:58












Some applications require passwordless ssh to one's own machine.
– Nehal J Wani
May 15 '14 at 20:03




Some applications require passwordless ssh to one's own machine.
– Nehal J Wani
May 15 '14 at 20:03












Please don't post the same question on multiple sites of the Stack Exchange network.
– terdon♦
May 16 '14 at 0:43




Please don't post the same question on multiple sites of the Stack Exchange network.
– terdon♦
May 16 '14 at 0:43












Why you need to trust the key you own? Exactly what are you trying to do?
– Braiam
May 16 '14 at 1:27





Why you need to trust the key you own? Exactly what are you trying to do?
– Braiam
May 16 '14 at 1:27











5 Answers
5






active

oldest

votes

















up vote
44
down vote













You have to create the .ssh directory and the authorized_keys file the first time.




  1. Create the .ssh directory:



    mkdir ~/.ssh



  2. Set the right permissions:



    chmod 700 ~/.ssh



  3. Create the authorized_keys file:



    touch ~/.ssh/authorized_keys



  4. Set the right permissions:



    chmod 600 ~/.ssh/authorized_keys


The permissions are important! It won't work without the right permissions!



Now you can add the public key to the authorized_keys file:



cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys



You have to add the public key of your computer to the authorized_keys file of the computer you want to access using SSH Keys!




As terdon mentioned you can also just use this command:



ssh-copy-id user@host


This will put your id_rsa.pub (in your ~/.ssh directory) in the remote computer's authorized_keys file, creating the .ssh directory and authorized_keys file with the right permissions if necessary.






share|improve this answer


















  • 2




    In any case, you don't want to just cat it, that's what ssh-copy-id is for.
    – terdon♦
    May 15 '14 at 23:48










  • Wow, cool, I've added it.
    – Louis Matthijssen
    May 16 '14 at 6:41

















up vote
2
down vote













In case you have been sent the public key in an email to install to a remote server:



1) SSH into the server. I used PuTTY on Windows.



2) Setup the key:



mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys


Take care to copy the key exactly and paste it into a new line in the editor window. Verify that it occupies a single line and save.



chmod 600 ~/.ssh/authorized_keys





share|improve this answer



























    up vote
    0
    down vote













    try



     touch $HOME/.ssh/authorized_keys


    to create empty file with the rights of that user.



    This file is created when you access for the first a remote host with that user.






    share|improve this answer



























      up vote
      0
      down vote













      This can also fail if, when creating the key with ssh-keygen, you give it a filename. I entered some name my-ssh-file-name, and it wrote the key to /Users/MyUserName instead of the .ssh folder. If you leave the filename blank, it will write to .ssh as expected.






      share|improve this answer





























        up vote
        0
        down vote













        Since I don't have enough reputation, I'm adding this here.
        In addition to Louis Matthijssen's answer if you are still not able to login through ssh as a user that you've created, like



        ssh username@host


        then this may be because of the absence of owner permission that you must add to your /home/username/.ssh folder. I had the same issue and you can give this permission as:



        chown -R username:username /home/username/.ssh


        This can probably happen simply because you were creating the directory and setting the permissions as root, but not as the username you want to access the server with.



        Hope this helps someone.






        share|improve this answer




















          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "89"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f466549%2fbash-home-user-ssh-authorized-keys-no-such-file-or-directory%23new-answer', 'question_page');

          );

          Post as a guest






























          5 Answers
          5






          active

          oldest

          votes








          5 Answers
          5






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          44
          down vote













          You have to create the .ssh directory and the authorized_keys file the first time.




          1. Create the .ssh directory:



            mkdir ~/.ssh



          2. Set the right permissions:



            chmod 700 ~/.ssh



          3. Create the authorized_keys file:



            touch ~/.ssh/authorized_keys



          4. Set the right permissions:



            chmod 600 ~/.ssh/authorized_keys


          The permissions are important! It won't work without the right permissions!



          Now you can add the public key to the authorized_keys file:



          cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys



          You have to add the public key of your computer to the authorized_keys file of the computer you want to access using SSH Keys!




          As terdon mentioned you can also just use this command:



          ssh-copy-id user@host


          This will put your id_rsa.pub (in your ~/.ssh directory) in the remote computer's authorized_keys file, creating the .ssh directory and authorized_keys file with the right permissions if necessary.






          share|improve this answer


















          • 2




            In any case, you don't want to just cat it, that's what ssh-copy-id is for.
            – terdon♦
            May 15 '14 at 23:48










          • Wow, cool, I've added it.
            – Louis Matthijssen
            May 16 '14 at 6:41














          up vote
          44
          down vote













          You have to create the .ssh directory and the authorized_keys file the first time.




          1. Create the .ssh directory:



            mkdir ~/.ssh



          2. Set the right permissions:



            chmod 700 ~/.ssh



          3. Create the authorized_keys file:



            touch ~/.ssh/authorized_keys



          4. Set the right permissions:



            chmod 600 ~/.ssh/authorized_keys


          The permissions are important! It won't work without the right permissions!



          Now you can add the public key to the authorized_keys file:



          cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys



          You have to add the public key of your computer to the authorized_keys file of the computer you want to access using SSH Keys!




          As terdon mentioned you can also just use this command:



          ssh-copy-id user@host


          This will put your id_rsa.pub (in your ~/.ssh directory) in the remote computer's authorized_keys file, creating the .ssh directory and authorized_keys file with the right permissions if necessary.






          share|improve this answer


















          • 2




            In any case, you don't want to just cat it, that's what ssh-copy-id is for.
            – terdon♦
            May 15 '14 at 23:48










          • Wow, cool, I've added it.
            – Louis Matthijssen
            May 16 '14 at 6:41












          up vote
          44
          down vote










          up vote
          44
          down vote









          You have to create the .ssh directory and the authorized_keys file the first time.




          1. Create the .ssh directory:



            mkdir ~/.ssh



          2. Set the right permissions:



            chmod 700 ~/.ssh



          3. Create the authorized_keys file:



            touch ~/.ssh/authorized_keys



          4. Set the right permissions:



            chmod 600 ~/.ssh/authorized_keys


          The permissions are important! It won't work without the right permissions!



          Now you can add the public key to the authorized_keys file:



          cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys



          You have to add the public key of your computer to the authorized_keys file of the computer you want to access using SSH Keys!




          As terdon mentioned you can also just use this command:



          ssh-copy-id user@host


          This will put your id_rsa.pub (in your ~/.ssh directory) in the remote computer's authorized_keys file, creating the .ssh directory and authorized_keys file with the right permissions if necessary.






          share|improve this answer














          You have to create the .ssh directory and the authorized_keys file the first time.




          1. Create the .ssh directory:



            mkdir ~/.ssh



          2. Set the right permissions:



            chmod 700 ~/.ssh



          3. Create the authorized_keys file:



            touch ~/.ssh/authorized_keys



          4. Set the right permissions:



            chmod 600 ~/.ssh/authorized_keys


          The permissions are important! It won't work without the right permissions!



          Now you can add the public key to the authorized_keys file:



          cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys



          You have to add the public key of your computer to the authorized_keys file of the computer you want to access using SSH Keys!




          As terdon mentioned you can also just use this command:



          ssh-copy-id user@host


          This will put your id_rsa.pub (in your ~/.ssh directory) in the remote computer's authorized_keys file, creating the .ssh directory and authorized_keys file with the right permissions if necessary.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited May 16 '14 at 6:40

























          answered May 15 '14 at 20:14









          Louis Matthijssen

          7,76643344




          7,76643344







          • 2




            In any case, you don't want to just cat it, that's what ssh-copy-id is for.
            – terdon♦
            May 15 '14 at 23:48










          • Wow, cool, I've added it.
            – Louis Matthijssen
            May 16 '14 at 6:41












          • 2




            In any case, you don't want to just cat it, that's what ssh-copy-id is for.
            – terdon♦
            May 15 '14 at 23:48










          • Wow, cool, I've added it.
            – Louis Matthijssen
            May 16 '14 at 6:41







          2




          2




          In any case, you don't want to just cat it, that's what ssh-copy-id is for.
          – terdon♦
          May 15 '14 at 23:48




          In any case, you don't want to just cat it, that's what ssh-copy-id is for.
          – terdon♦
          May 15 '14 at 23:48












          Wow, cool, I've added it.
          – Louis Matthijssen
          May 16 '14 at 6:41




          Wow, cool, I've added it.
          – Louis Matthijssen
          May 16 '14 at 6:41












          up vote
          2
          down vote













          In case you have been sent the public key in an email to install to a remote server:



          1) SSH into the server. I used PuTTY on Windows.



          2) Setup the key:



          mkdir ~/.ssh
          chmod 700 ~/.ssh
          vi ~/.ssh/authorized_keys


          Take care to copy the key exactly and paste it into a new line in the editor window. Verify that it occupies a single line and save.



          chmod 600 ~/.ssh/authorized_keys





          share|improve this answer
























            up vote
            2
            down vote













            In case you have been sent the public key in an email to install to a remote server:



            1) SSH into the server. I used PuTTY on Windows.



            2) Setup the key:



            mkdir ~/.ssh
            chmod 700 ~/.ssh
            vi ~/.ssh/authorized_keys


            Take care to copy the key exactly and paste it into a new line in the editor window. Verify that it occupies a single line and save.



            chmod 600 ~/.ssh/authorized_keys





            share|improve this answer






















              up vote
              2
              down vote










              up vote
              2
              down vote









              In case you have been sent the public key in an email to install to a remote server:



              1) SSH into the server. I used PuTTY on Windows.



              2) Setup the key:



              mkdir ~/.ssh
              chmod 700 ~/.ssh
              vi ~/.ssh/authorized_keys


              Take care to copy the key exactly and paste it into a new line in the editor window. Verify that it occupies a single line and save.



              chmod 600 ~/.ssh/authorized_keys





              share|improve this answer












              In case you have been sent the public key in an email to install to a remote server:



              1) SSH into the server. I used PuTTY on Windows.



              2) Setup the key:



              mkdir ~/.ssh
              chmod 700 ~/.ssh
              vi ~/.ssh/authorized_keys


              Take care to copy the key exactly and paste it into a new line in the editor window. Verify that it occupies a single line and save.



              chmod 600 ~/.ssh/authorized_keys






              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Jan 7 '16 at 0:29









              KalenGi

              163127




              163127




















                  up vote
                  0
                  down vote













                  try



                   touch $HOME/.ssh/authorized_keys


                  to create empty file with the rights of that user.



                  This file is created when you access for the first a remote host with that user.






                  share|improve this answer
























                    up vote
                    0
                    down vote













                    try



                     touch $HOME/.ssh/authorized_keys


                    to create empty file with the rights of that user.



                    This file is created when you access for the first a remote host with that user.






                    share|improve this answer






















                      up vote
                      0
                      down vote










                      up vote
                      0
                      down vote









                      try



                       touch $HOME/.ssh/authorized_keys


                      to create empty file with the rights of that user.



                      This file is created when you access for the first a remote host with that user.






                      share|improve this answer












                      try



                       touch $HOME/.ssh/authorized_keys


                      to create empty file with the rights of that user.



                      This file is created when you access for the first a remote host with that user.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered May 15 '14 at 20:13









                      DGA

                      1




                      1




















                          up vote
                          0
                          down vote













                          This can also fail if, when creating the key with ssh-keygen, you give it a filename. I entered some name my-ssh-file-name, and it wrote the key to /Users/MyUserName instead of the .ssh folder. If you leave the filename blank, it will write to .ssh as expected.






                          share|improve this answer


























                            up vote
                            0
                            down vote













                            This can also fail if, when creating the key with ssh-keygen, you give it a filename. I entered some name my-ssh-file-name, and it wrote the key to /Users/MyUserName instead of the .ssh folder. If you leave the filename blank, it will write to .ssh as expected.






                            share|improve this answer
























                              up vote
                              0
                              down vote










                              up vote
                              0
                              down vote









                              This can also fail if, when creating the key with ssh-keygen, you give it a filename. I entered some name my-ssh-file-name, and it wrote the key to /Users/MyUserName instead of the .ssh folder. If you leave the filename blank, it will write to .ssh as expected.






                              share|improve this answer














                              This can also fail if, when creating the key with ssh-keygen, you give it a filename. I entered some name my-ssh-file-name, and it wrote the key to /Users/MyUserName instead of the .ssh folder. If you leave the filename blank, it will write to .ssh as expected.







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited Sep 4 '15 at 21:35

























                              answered Sep 4 '15 at 18:05









                              Francisco Corrales Morales

                              1467




                              1467




















                                  up vote
                                  0
                                  down vote













                                  Since I don't have enough reputation, I'm adding this here.
                                  In addition to Louis Matthijssen's answer if you are still not able to login through ssh as a user that you've created, like



                                  ssh username@host


                                  then this may be because of the absence of owner permission that you must add to your /home/username/.ssh folder. I had the same issue and you can give this permission as:



                                  chown -R username:username /home/username/.ssh


                                  This can probably happen simply because you were creating the directory and setting the permissions as root, but not as the username you want to access the server with.



                                  Hope this helps someone.






                                  share|improve this answer
























                                    up vote
                                    0
                                    down vote













                                    Since I don't have enough reputation, I'm adding this here.
                                    In addition to Louis Matthijssen's answer if you are still not able to login through ssh as a user that you've created, like



                                    ssh username@host


                                    then this may be because of the absence of owner permission that you must add to your /home/username/.ssh folder. I had the same issue and you can give this permission as:



                                    chown -R username:username /home/username/.ssh


                                    This can probably happen simply because you were creating the directory and setting the permissions as root, but not as the username you want to access the server with.



                                    Hope this helps someone.






                                    share|improve this answer






















                                      up vote
                                      0
                                      down vote










                                      up vote
                                      0
                                      down vote









                                      Since I don't have enough reputation, I'm adding this here.
                                      In addition to Louis Matthijssen's answer if you are still not able to login through ssh as a user that you've created, like



                                      ssh username@host


                                      then this may be because of the absence of owner permission that you must add to your /home/username/.ssh folder. I had the same issue and you can give this permission as:



                                      chown -R username:username /home/username/.ssh


                                      This can probably happen simply because you were creating the directory and setting the permissions as root, but not as the username you want to access the server with.



                                      Hope this helps someone.






                                      share|improve this answer












                                      Since I don't have enough reputation, I'm adding this here.
                                      In addition to Louis Matthijssen's answer if you are still not able to login through ssh as a user that you've created, like



                                      ssh username@host


                                      then this may be because of the absence of owner permission that you must add to your /home/username/.ssh folder. I had the same issue and you can give this permission as:



                                      chown -R username:username /home/username/.ssh


                                      This can probably happen simply because you were creating the directory and setting the permissions as root, but not as the username you want to access the server with.



                                      Hope this helps someone.







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered Jul 28 '17 at 8:33









                                      Shivam Sharma

                                      101




                                      101



























                                           

                                          draft saved


                                          draft discarded















































                                           


                                          draft saved


                                          draft discarded














                                          StackExchange.ready(
                                          function ()
                                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f466549%2fbash-home-user-ssh-authorized-keys-no-such-file-or-directory%23new-answer', 'question_page');

                                          );

                                          Post as a guest













































































                                          Popular posts from this blog

                                          pylint3 and pip3 broken

                                          Missing snmpget and snmpwalk

                                          How to enroll fingerprints to Ubuntu 17.10 with VFS491