Adding SSH private key gives error that 0644 permissions are too open
I have a generated a ssh private key .key. I want to add it into my ssh in Mac to connect to a remote server, I have only known_hosts
file in ~/.ssh
directory.
When I try to add it using this command:
ssh-add -K ~/.ssh/myKey.ppk
I get this error:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/username/.ssh/myKey.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
macos ssh
add a comment |
I have a generated a ssh private key .key. I want to add it into my ssh in Mac to connect to a remote server, I have only known_hosts
file in ~/.ssh
directory.
When I try to add it using this command:
ssh-add -K ~/.ssh/myKey.ppk
I get this error:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/username/.ssh/myKey.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
macos ssh
Possible duplicate of SSH with key passphrase not working
– Jakuje
Nov 12 at 15:54
@Jakuje the question is different, leaving this open. It may be a duplicate of a different one though.
– Harv
Nov 12 at 19:20
1
@Harv thank you for the comment. The question is different, but the answer is still the same. These answers below are just incomplete (leaving alone they are obvious first steps from the first chapter of *nix troubleshooting guide), but they do not lead anywhere. After applying either of them, the OP will find out that OpenSSH does not know how to read the Putty private key format and then he will ask why, which will boil down to my answer.
– Jakuje
Nov 12 at 20:07
@Jakuje Interesting. I didn't know that about the different format; the question pertains specifically to permissions, not the file format - but thanks to your contribution, OP will have to deal with that once permissions issues are out of the way.
– Harv
Nov 12 at 20:19
add a comment |
I have a generated a ssh private key .key. I want to add it into my ssh in Mac to connect to a remote server, I have only known_hosts
file in ~/.ssh
directory.
When I try to add it using this command:
ssh-add -K ~/.ssh/myKey.ppk
I get this error:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/username/.ssh/myKey.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
macos ssh
I have a generated a ssh private key .key. I want to add it into my ssh in Mac to connect to a remote server, I have only known_hosts
file in ~/.ssh
directory.
When I try to add it using this command:
ssh-add -K ~/.ssh/myKey.ppk
I get this error:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/username/.ssh/myKey.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
macos ssh
macos ssh
edited Nov 13 at 3:24
muru
1
1
asked Nov 12 at 8:26
Mohamed Mellal
413
413
Possible duplicate of SSH with key passphrase not working
– Jakuje
Nov 12 at 15:54
@Jakuje the question is different, leaving this open. It may be a duplicate of a different one though.
– Harv
Nov 12 at 19:20
1
@Harv thank you for the comment. The question is different, but the answer is still the same. These answers below are just incomplete (leaving alone they are obvious first steps from the first chapter of *nix troubleshooting guide), but they do not lead anywhere. After applying either of them, the OP will find out that OpenSSH does not know how to read the Putty private key format and then he will ask why, which will boil down to my answer.
– Jakuje
Nov 12 at 20:07
@Jakuje Interesting. I didn't know that about the different format; the question pertains specifically to permissions, not the file format - but thanks to your contribution, OP will have to deal with that once permissions issues are out of the way.
– Harv
Nov 12 at 20:19
add a comment |
Possible duplicate of SSH with key passphrase not working
– Jakuje
Nov 12 at 15:54
@Jakuje the question is different, leaving this open. It may be a duplicate of a different one though.
– Harv
Nov 12 at 19:20
1
@Harv thank you for the comment. The question is different, but the answer is still the same. These answers below are just incomplete (leaving alone they are obvious first steps from the first chapter of *nix troubleshooting guide), but they do not lead anywhere. After applying either of them, the OP will find out that OpenSSH does not know how to read the Putty private key format and then he will ask why, which will boil down to my answer.
– Jakuje
Nov 12 at 20:07
@Jakuje Interesting. I didn't know that about the different format; the question pertains specifically to permissions, not the file format - but thanks to your contribution, OP will have to deal with that once permissions issues are out of the way.
– Harv
Nov 12 at 20:19
Possible duplicate of SSH with key passphrase not working
– Jakuje
Nov 12 at 15:54
Possible duplicate of SSH with key passphrase not working
– Jakuje
Nov 12 at 15:54
@Jakuje the question is different, leaving this open. It may be a duplicate of a different one though.
– Harv
Nov 12 at 19:20
@Jakuje the question is different, leaving this open. It may be a duplicate of a different one though.
– Harv
Nov 12 at 19:20
1
1
@Harv thank you for the comment. The question is different, but the answer is still the same. These answers below are just incomplete (leaving alone they are obvious first steps from the first chapter of *nix troubleshooting guide), but they do not lead anywhere. After applying either of them, the OP will find out that OpenSSH does not know how to read the Putty private key format and then he will ask why, which will boil down to my answer.
– Jakuje
Nov 12 at 20:07
@Harv thank you for the comment. The question is different, but the answer is still the same. These answers below are just incomplete (leaving alone they are obvious first steps from the first chapter of *nix troubleshooting guide), but they do not lead anywhere. After applying either of them, the OP will find out that OpenSSH does not know how to read the Putty private key format and then he will ask why, which will boil down to my answer.
– Jakuje
Nov 12 at 20:07
@Jakuje Interesting. I didn't know that about the different format; the question pertains specifically to permissions, not the file format - but thanks to your contribution, OP will have to deal with that once permissions issues are out of the way.
– Harv
Nov 12 at 20:19
@Jakuje Interesting. I didn't know that about the different format; the question pertains specifically to permissions, not the file format - but thanks to your contribution, OP will have to deal with that once permissions issues are out of the way.
– Harv
Nov 12 at 20:19
add a comment |
4 Answers
4
active
oldest
votes
The error message is displayed because the file permission are set such that it is readable by other users apart from the logged-in user. To overcome the error message, you will need to change the file permissions for the private key such that it is readable only by you.
To do that, run the following command in Terminal:
cd ~/.ssh ; chmod 400 myKey.ppk
This will allow only your user to read (and not write and execute) the private key file and prevent everyone else from reading, writing and executing the file.
This will take care of the error message shown to you and you should be able to add the private key file all right.
add a comment |
Go to the terminal and type this command:
chmod 0600 ~/.ssh/myKey.ppk
That should be fine.
5
Why even allow write access?0400
would be sufficient.
– Ruslan
Nov 12 at 12:43
2
It's quite possible he might want to update it later. At any rate, 0600 is WAY better than 0644
– Scott Earle
Nov 13 at 3:33
add a comment |
While changing the permissions of the .ppk
file will indeed make this warning go away, I would recommend to disable group/others access to .ssh
directory altogether:
cd ~
chmod g-rwx .ssh
chmod o-rwx .ssh
Otherwise, with insecure permissions on your home directory, other users could place files (like authorized_keys
) in your .ssh
directory, or mess with known_hosts
, or change config
items, and gain access that way - without having to know either your password or your private key.
Secondly, in a multi-user environment it would be dubious practice just to retroactively restrict permissions to a key. If a private key has been world-readable on a multi-user system at any given time, it should be considered as already compromised.
add a comment |
it looks like you copied your private key from Windows or from other computer where you used PuTTY. Unfortunately, the ssh
command-line tool does not support this key format and therefore you have two options:
- Install PuTTY again (it should exist also on your mac)
Convert the private key from PuTTY file format to the OpenSSH format (again using PuTTYGen from PuTTY as already described in my previous answer:
- Open PuttyGen
- Click Load
- Load your private key
- Go to Conversions->Export OpenSSH and export your private key
- Copy your private key to
~/.ssh/id_rsa
If you still see the issues using the new exported key (~/.ssh/id_rsa
, make sure that the key is not readable by anyone else but you (it is your private key) by removing all the privileges of all the others by running chmod 600 ~/.ssh/id_rsa
.
There's no point to downvoting this. The permissions are irrelevant if ssh can't understand the key even with correct permissions; futhermore the answer also shows how to set the correct permissions.
– muru
Nov 13 at 9:09
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "118"
;
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',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fapple.stackexchange.com%2fquestions%2f342371%2fadding-ssh-private-key-gives-error-that-0644-permissions-are-too-open%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
The error message is displayed because the file permission are set such that it is readable by other users apart from the logged-in user. To overcome the error message, you will need to change the file permissions for the private key such that it is readable only by you.
To do that, run the following command in Terminal:
cd ~/.ssh ; chmod 400 myKey.ppk
This will allow only your user to read (and not write and execute) the private key file and prevent everyone else from reading, writing and executing the file.
This will take care of the error message shown to you and you should be able to add the private key file all right.
add a comment |
The error message is displayed because the file permission are set such that it is readable by other users apart from the logged-in user. To overcome the error message, you will need to change the file permissions for the private key such that it is readable only by you.
To do that, run the following command in Terminal:
cd ~/.ssh ; chmod 400 myKey.ppk
This will allow only your user to read (and not write and execute) the private key file and prevent everyone else from reading, writing and executing the file.
This will take care of the error message shown to you and you should be able to add the private key file all right.
add a comment |
The error message is displayed because the file permission are set such that it is readable by other users apart from the logged-in user. To overcome the error message, you will need to change the file permissions for the private key such that it is readable only by you.
To do that, run the following command in Terminal:
cd ~/.ssh ; chmod 400 myKey.ppk
This will allow only your user to read (and not write and execute) the private key file and prevent everyone else from reading, writing and executing the file.
This will take care of the error message shown to you and you should be able to add the private key file all right.
The error message is displayed because the file permission are set such that it is readable by other users apart from the logged-in user. To overcome the error message, you will need to change the file permissions for the private key such that it is readable only by you.
To do that, run the following command in Terminal:
cd ~/.ssh ; chmod 400 myKey.ppk
This will allow only your user to read (and not write and execute) the private key file and prevent everyone else from reading, writing and executing the file.
This will take care of the error message shown to you and you should be able to add the private key file all right.
edited Nov 12 at 9:44
answered Nov 12 at 8:37
Nimesh Neema
14.4k43871
14.4k43871
add a comment |
add a comment |
Go to the terminal and type this command:
chmod 0600 ~/.ssh/myKey.ppk
That should be fine.
5
Why even allow write access?0400
would be sufficient.
– Ruslan
Nov 12 at 12:43
2
It's quite possible he might want to update it later. At any rate, 0600 is WAY better than 0644
– Scott Earle
Nov 13 at 3:33
add a comment |
Go to the terminal and type this command:
chmod 0600 ~/.ssh/myKey.ppk
That should be fine.
5
Why even allow write access?0400
would be sufficient.
– Ruslan
Nov 12 at 12:43
2
It's quite possible he might want to update it later. At any rate, 0600 is WAY better than 0644
– Scott Earle
Nov 13 at 3:33
add a comment |
Go to the terminal and type this command:
chmod 0600 ~/.ssh/myKey.ppk
That should be fine.
Go to the terminal and type this command:
chmod 0600 ~/.ssh/myKey.ppk
That should be fine.
answered Nov 12 at 8:38
Scott Earle
3,160821
3,160821
5
Why even allow write access?0400
would be sufficient.
– Ruslan
Nov 12 at 12:43
2
It's quite possible he might want to update it later. At any rate, 0600 is WAY better than 0644
– Scott Earle
Nov 13 at 3:33
add a comment |
5
Why even allow write access?0400
would be sufficient.
– Ruslan
Nov 12 at 12:43
2
It's quite possible he might want to update it later. At any rate, 0600 is WAY better than 0644
– Scott Earle
Nov 13 at 3:33
5
5
Why even allow write access?
0400
would be sufficient.– Ruslan
Nov 12 at 12:43
Why even allow write access?
0400
would be sufficient.– Ruslan
Nov 12 at 12:43
2
2
It's quite possible he might want to update it later. At any rate, 0600 is WAY better than 0644
– Scott Earle
Nov 13 at 3:33
It's quite possible he might want to update it later. At any rate, 0600 is WAY better than 0644
– Scott Earle
Nov 13 at 3:33
add a comment |
While changing the permissions of the .ppk
file will indeed make this warning go away, I would recommend to disable group/others access to .ssh
directory altogether:
cd ~
chmod g-rwx .ssh
chmod o-rwx .ssh
Otherwise, with insecure permissions on your home directory, other users could place files (like authorized_keys
) in your .ssh
directory, or mess with known_hosts
, or change config
items, and gain access that way - without having to know either your password or your private key.
Secondly, in a multi-user environment it would be dubious practice just to retroactively restrict permissions to a key. If a private key has been world-readable on a multi-user system at any given time, it should be considered as already compromised.
add a comment |
While changing the permissions of the .ppk
file will indeed make this warning go away, I would recommend to disable group/others access to .ssh
directory altogether:
cd ~
chmod g-rwx .ssh
chmod o-rwx .ssh
Otherwise, with insecure permissions on your home directory, other users could place files (like authorized_keys
) in your .ssh
directory, or mess with known_hosts
, or change config
items, and gain access that way - without having to know either your password or your private key.
Secondly, in a multi-user environment it would be dubious practice just to retroactively restrict permissions to a key. If a private key has been world-readable on a multi-user system at any given time, it should be considered as already compromised.
add a comment |
While changing the permissions of the .ppk
file will indeed make this warning go away, I would recommend to disable group/others access to .ssh
directory altogether:
cd ~
chmod g-rwx .ssh
chmod o-rwx .ssh
Otherwise, with insecure permissions on your home directory, other users could place files (like authorized_keys
) in your .ssh
directory, or mess with known_hosts
, or change config
items, and gain access that way - without having to know either your password or your private key.
Secondly, in a multi-user environment it would be dubious practice just to retroactively restrict permissions to a key. If a private key has been world-readable on a multi-user system at any given time, it should be considered as already compromised.
While changing the permissions of the .ppk
file will indeed make this warning go away, I would recommend to disable group/others access to .ssh
directory altogether:
cd ~
chmod g-rwx .ssh
chmod o-rwx .ssh
Otherwise, with insecure permissions on your home directory, other users could place files (like authorized_keys
) in your .ssh
directory, or mess with known_hosts
, or change config
items, and gain access that way - without having to know either your password or your private key.
Secondly, in a multi-user environment it would be dubious practice just to retroactively restrict permissions to a key. If a private key has been world-readable on a multi-user system at any given time, it should be considered as already compromised.
answered Nov 12 at 15:17
jvb
1412
1412
add a comment |
add a comment |
it looks like you copied your private key from Windows or from other computer where you used PuTTY. Unfortunately, the ssh
command-line tool does not support this key format and therefore you have two options:
- Install PuTTY again (it should exist also on your mac)
Convert the private key from PuTTY file format to the OpenSSH format (again using PuTTYGen from PuTTY as already described in my previous answer:
- Open PuttyGen
- Click Load
- Load your private key
- Go to Conversions->Export OpenSSH and export your private key
- Copy your private key to
~/.ssh/id_rsa
If you still see the issues using the new exported key (~/.ssh/id_rsa
, make sure that the key is not readable by anyone else but you (it is your private key) by removing all the privileges of all the others by running chmod 600 ~/.ssh/id_rsa
.
There's no point to downvoting this. The permissions are irrelevant if ssh can't understand the key even with correct permissions; futhermore the answer also shows how to set the correct permissions.
– muru
Nov 13 at 9:09
add a comment |
it looks like you copied your private key from Windows or from other computer where you used PuTTY. Unfortunately, the ssh
command-line tool does not support this key format and therefore you have two options:
- Install PuTTY again (it should exist also on your mac)
Convert the private key from PuTTY file format to the OpenSSH format (again using PuTTYGen from PuTTY as already described in my previous answer:
- Open PuttyGen
- Click Load
- Load your private key
- Go to Conversions->Export OpenSSH and export your private key
- Copy your private key to
~/.ssh/id_rsa
If you still see the issues using the new exported key (~/.ssh/id_rsa
, make sure that the key is not readable by anyone else but you (it is your private key) by removing all the privileges of all the others by running chmod 600 ~/.ssh/id_rsa
.
There's no point to downvoting this. The permissions are irrelevant if ssh can't understand the key even with correct permissions; futhermore the answer also shows how to set the correct permissions.
– muru
Nov 13 at 9:09
add a comment |
it looks like you copied your private key from Windows or from other computer where you used PuTTY. Unfortunately, the ssh
command-line tool does not support this key format and therefore you have two options:
- Install PuTTY again (it should exist also on your mac)
Convert the private key from PuTTY file format to the OpenSSH format (again using PuTTYGen from PuTTY as already described in my previous answer:
- Open PuttyGen
- Click Load
- Load your private key
- Go to Conversions->Export OpenSSH and export your private key
- Copy your private key to
~/.ssh/id_rsa
If you still see the issues using the new exported key (~/.ssh/id_rsa
, make sure that the key is not readable by anyone else but you (it is your private key) by removing all the privileges of all the others by running chmod 600 ~/.ssh/id_rsa
.
it looks like you copied your private key from Windows or from other computer where you used PuTTY. Unfortunately, the ssh
command-line tool does not support this key format and therefore you have two options:
- Install PuTTY again (it should exist also on your mac)
Convert the private key from PuTTY file format to the OpenSSH format (again using PuTTYGen from PuTTY as already described in my previous answer:
- Open PuttyGen
- Click Load
- Load your private key
- Go to Conversions->Export OpenSSH and export your private key
- Copy your private key to
~/.ssh/id_rsa
If you still see the issues using the new exported key (~/.ssh/id_rsa
, make sure that the key is not readable by anyone else but you (it is your private key) by removing all the privileges of all the others by running chmod 600 ~/.ssh/id_rsa
.
answered Nov 12 at 20:15
Jakuje
1,210416
1,210416
There's no point to downvoting this. The permissions are irrelevant if ssh can't understand the key even with correct permissions; futhermore the answer also shows how to set the correct permissions.
– muru
Nov 13 at 9:09
add a comment |
There's no point to downvoting this. The permissions are irrelevant if ssh can't understand the key even with correct permissions; futhermore the answer also shows how to set the correct permissions.
– muru
Nov 13 at 9:09
There's no point to downvoting this. The permissions are irrelevant if ssh can't understand the key even with correct permissions; futhermore the answer also shows how to set the correct permissions.
– muru
Nov 13 at 9:09
There's no point to downvoting this. The permissions are irrelevant if ssh can't understand the key even with correct permissions; futhermore the answer also shows how to set the correct permissions.
– muru
Nov 13 at 9:09
add a comment |
Thanks for contributing an answer to Ask Different!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fapple.stackexchange.com%2fquestions%2f342371%2fadding-ssh-private-key-gives-error-that-0644-permissions-are-too-open%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Possible duplicate of SSH with key passphrase not working
– Jakuje
Nov 12 at 15:54
@Jakuje the question is different, leaving this open. It may be a duplicate of a different one though.
– Harv
Nov 12 at 19:20
1
@Harv thank you for the comment. The question is different, but the answer is still the same. These answers below are just incomplete (leaving alone they are obvious first steps from the first chapter of *nix troubleshooting guide), but they do not lead anywhere. After applying either of them, the OP will find out that OpenSSH does not know how to read the Putty private key format and then he will ask why, which will boil down to my answer.
– Jakuje
Nov 12 at 20:07
@Jakuje Interesting. I didn't know that about the different format; the question pertains specifically to permissions, not the file format - but thanks to your contribution, OP will have to deal with that once permissions issues are out of the way.
– Harv
Nov 12 at 20:19