文章内容

2020/10/26 10:34:27,作 者: 黄兵

Ubuntu server 如何设置密钥登录

最近在原来服务器安装的Windows系统换成Ubuntu系统,主要是安装软件方便,管理也比较方便,还是Liunx用的顺手。

在安装系统的时候设置的是密码登录,现在由于安全方面的考虑,决定改成使用密钥登录。

密钥登录的原理如下:

首先生成一对公钥和私钥,公钥存在服务器,私钥存在自己手里。整个ssh密码登录过程是这样的:

1)用户向远程主机发登录请求:ssh user@远程主机

2)远程主机收到用户的登录请求,把自己的公钥发给用户。

2)用户使用这个公钥,将登录密码加密后,发送回远程主机。

3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

这里直接使用的是Ubuntu登录,使用如下命令:

ssh-keygen -t rsa

这里提示是否需要输入密码以保护密钥?你可以选择输入密码,也可以留空:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa):
Created directory '/home/ubuntu/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

进入.ssh文件夹,里面有两个文件,id_rsa是私钥,需要自己下载到本地,id_rsa.pub是公钥,该名成authorizedkeys:

cd /home/ubuntu/.ssh
mv id_rsa.pub authorized_keys

设置文件和文件夹权限:

chmod 600 /home/ubuntu/.ssh/authorized_keys
chmod 700 /home/ubuntu/.ssh

修改/etc/ssh/sshd_config文件,并重启服务:

sudo vi /etc/ssh/sshd_config

修改下面两项

PasswordAuthentication no //禁止使用基于口令认证的方式登陆
PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆

sudo service sshd restart

之后登录时选择密钥(Publickey)登录,导入下载下来的私钥。


参考资料:

1、Ubuntu远程ssh密钥连接设置

分享到:

发表评论

评论列表