关于mac 电脑用户ssh秘钥登录操作方法

在win上面可以使用XSHELL来登录类似于亚马逊这样的安全服务器,在mac上面就可以使用系统自带的命令工具来连接

1、使用命令
ssh -i key.pem [server]

如下:
ssh -i key.pem root@xxx.xxx.xxx.xxx

2、在执行上面的命令后会提示让你确认是否继续,输入yes继续,然后可能会提示一个错误
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0770 for ‘/Users//workspace/key.pem’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: ‘/Users/
/workspace/key.pem’
Permission denied (publickey).

这个问题是说这个文件的权限太大了,需要给小点
所以就执行:
sudo chmod 600 key.pem

然后再执行ssh -i key.pem 用户名@xxx.xxx.xxx.xxx 就可以了

3、最方便的还是使用ssh-add 添加一下键文件,以后访问方便点
ssh-add -k key.pem

4、执行完上面的命令后下次就只需要像普通ssh那样访问就可以了,如下:
ssh 用户名@xxx.xxx.xxx.xxx

Mac OS Sierra SSH密钥在重启后丢失的问题

最近MacBook系统出了点问题,遂重装了最新的系统macOS Sierra。然鹅,问题来了。以前在终端中使用SSH,若要将key永久保存在本地,只需要执行ssh-add -K “KeyPath”命令即可。而现在执行此命令虽然依旧能保存成功,但是在“钥匙串”中找不到保存的SSH密钥,也就是说并没有持久化保存到KeyChain中,重启后测试,果然ssh密钥清空了。

研究了一下,原来问题出在系统上,从macOS Sierra 10.12.2以后,SSH的配置选项中多了“UseKeychain”选项,在man ssh_config页面中有这样的介绍:

UseKeychain
On macOS, specifies whether the system should search for
passphrases in the user’s keychain when attempting to use a particular key. When the passphrase is provided by the user, this
option also specifies whether the passphrase should be stored
into the keychain once it has been verified to be correct. The
argument must be yes’’ orno’’. The default is no’’.

要解决这个问题,就要借助于UseKeychain选项。在~/.ssh/config文件中添加下面这段话,问题就可以解决了:

Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/id_rsa

链接:https://www.jianshu.com/p/20547b778bb1

文档更新时间: 2019-12-25 02:07   作者:月影鹏鹏