文章内容
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)登录,导入下载下来的私钥。
参考资料:
评论列表