Mac OS配置SSH密钥登入CentOS

在连接SSH服务器或者使用scp命令的时候都会感到诸多不便,因为免不了ssh root@12.12.12.12然后输入密码。
配置密钥登录可以简化整个认证过程避免输入密码,甚至是这样:

1
ssh my

一个回车便能直接登入。

配置和添加

  • 产生密钥和公钥
    在本地运行:
    1
    ssh-keygen -t rsa -b 4096

一路回车即可在本机创建好公钥和密钥。

  • 复制公钥到服务器
    在本地运行:
    1
    ssh-copy-id root@<ip地址>

然后即可将你的公钥复制到服务器并设置好正确的权限。
接下里便可使用

1
ssh root@<ip地址>

只需要一个回车即可完成登录,SCP命令同理。

配置别名登录(可选)

当然你也可以配置别名登录,避免输入用户名和ip地址。
编辑 本地 ssh配置文件:

1
vim ~/.ssh/config

配置示例:

1
2
3
4
Host myos #别名,可以直接 ssh
HostName 192.168.159.103 #具体的主机地址
User root #用户
IdentityFile ~/.ssh/id_rsa #私钥文件

:wq保存后,就可以透过:

1
ssh myos

这样的命令登录到服务器,scp同理。

常见问题

  • 登录时提示没有权限
    在服务器运行下列命令可以设定权限:

    1
    2
    chmod 600 ~/.ssh/authorized_keys
    chmod 700 ~/.ssh
  • 私钥无法使用
    请使用ssh-keygen -y 回车后指定文件地址,即可登陆。

另外,感谢@Kymair 的帮助!