macOS下创建SSH Key并登录Linux服务器

macOS基于BSD的系统,有自带的SSH客户端,创建密钥、登录Linux服务器等操作还是很方便的,本教程就给大家讲解一下在macOS下如何创建SSH Key并登录Linux服务器。

创建密钥

ssh-keygen

该命令有一些参数,对于初次接触的,可以直接使用默认的参数。在创建的过程中,系统会提示我们输入私钥的密码和SSH Key存储的位置。

ssh-keygen生成ssh key

根据上图输入的,在当前目录下,会生成一个wker(私钥)和一个wker.pub(公钥)文件,私钥文件如果没有在.ssh目录(该目录在用户的根目录下,是隐藏的目录)下,请挪到该目录下。

上传私钥

目前很多的VPS提供商,如Vultr,可以在后台添加公钥,如果新建主机的时候选择了该SSH Key,那么就不需要上传,可以直接登录了。对于已经创建好的主机,需要自己把公钥追加到.ssh目录下的authorized_keys文件中,具体操作如下,以root用户为例:

scp ~/.ssh/wker.pub root@<ip地址>:/root/wker.pub

输入root用户的登录密码之后,私钥就会被上传到服务器的root目录下,然后追加到authorized_keys文件中:

cat /root/wker.pub >> ~/.ssh/authorized_keys

如果没有authorized_keys这个文件,请到.ssh目录下新建一个,并把权限设置为600:

cat authorized_keys
chmod 600 authorized_keys

配置SSH服务

使用vi编辑器修改/etc/ssh/sshd_config文件,启用PubkeyAuthentication和PermitRootLogin,这两个配置一般都是存在,只要把这几个参数前面的#去掉即可。

PubkeyAuthentication yes
PermitRootLogin yes

如果要禁用密码登录,把PasswordAuthentication 设置为 no即可。

PasswordAuthentication no

重启SSH服务即可:

systemctl restart sshd.service

扩展阅读

ssh-keygen命令用法:https://linux.die.net/man/1/ssh-keygen

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>