如何使用无密码 SSH 密钥登录远程 Ubuntu 20.04 服务器 |
您所在的位置:网站首页 › 如何无密码联网使用 › 如何使用无密码 SSH 密钥登录远程 Ubuntu 20.04 服务器 |
对于远程使用 Ubuntu 或其他 Linux 服务器(例如 Debian、CentOS 和 Fedora)的用户,可以看看本文介绍的如何使用无密码 SSH 密钥登录远程 Ubuntu 20.04 服务器。
与用户密码登录相比,SSH 密钥认证更安全,因为只有拥有密钥的人才能连接,并且密钥通过不同的算法进行了很好的加密。它还通过无密码登录使 SSH 连接变得简单。 1. 在 Ubuntu Linux 中启用 SSH 服务:如果您没有在远程服务器中启用 SSH 服务。您需要先连接到服务器,然后运行命令安装openssh: linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install openssh-server 对于 CentOS 和 Fedora 服务器,请改用linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install openssh-server 命令。 安装完成后,通过命令启用并启动服务: linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable ssh && sudo systemctl start ssh 最后通过运行命令验证 SSH 服务状态: linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl status ssh 如果您看到该服务处于活动状态并正在运行,您可以在本地计算机上使用以下命令通过 SSH 远程连接服务器: ssh user@server_ip 替换 user 和 server_ip。 如果不是默认的 22,则使用 -p port_number 指定端口号。 2、启用 SSH 密钥认证: 身份验证密钥在本地计算机中生成。 它们通常由私钥和公钥组成。 通过将公钥上传到远程 Linux 服务器,您将能够在本地机器上使用私钥进行 SSH 登录。 注意:本教程在 Ubuntu 本地计算机上进行了测试,但它应该适用于大多数 Linux,包括 Debian、Fedora、CentOS 和 Arch Linux。 1、安装 OpenSSH 客户端: OpenSSH 客户端大多是开箱即用的。 如果没有,请在本地计算机上运行此命令进行安装: linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install openssh-client 对于 CentOS 和 Fedora,请改用linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install openssh openssh-clients。 2、生成SSH密钥对: SSH -keygen命令允许通过RSA、ECDSA和ED25519算法生成SSH密钥对。RSA得到了广泛的使用和最好的支持,而ED25519提供了更好的安全性和良好的性能。 a)、首先,在本地计算机终端窗口中创建并导航到.ssh目录: mkdir -p ~/.ssh && cd ~/.ssh b)、接下来,运行命令生成密钥对: ssh-keygen -t ed25519 -f linuxmi_ed25519 -C “root@linuxmi” 在代码中,你可以用你喜欢的加密算法替换“ed25519”。” -f linuxmi_ed25519 “指定键名,“-C “root@linuxmi”” 是可选的。 c) 、出于安全原因,强烈建议对除您自己以外的其他用户设置无权限(甚至不可读): chmod 600 ~/.ssh/linuxmi_ed25519* 将“linuxmi_ed25519”更改为您在上一步中设置的密钥名称。 最后有一个星号“*”,所以它也适用于“linuxmi_ed25519.pub”文件。 3、将公钥上传到主机服务器: 现在使用以下命令将公钥(在我的例子中为“linuxmi_ed25519.pub”)从本地计算机上传到远程服务器: ssh-copy-id -i linuxmi_ed25519.pub [email protected] 如果监听端口不是默认的 22,不要记得加上‘-p number’。而且你需要输入远程用户密码才能上传密钥。 4、启用无密码SSH密钥登录: 首先通过 shell 命令运行“ssh-agent”: eval ‘ssh-agent’ 接下来,将 SSH 密钥添加到代理: ssh-add linuxmi_ed25519 ssh-add linux_ed25519 如果提示: Could not open a connection to your authentication agent.请先执行如下命令 ssh-agent bash 之后,SSH 命令将无需输入认证密钥密码即可登录。 5、禁用SSH用户密码登录: 成功设置密钥认证后,您可以禁用用户密码登录,这样其他人就无法访问服务器! 首先,连接到远程服务器并运行命令来编辑 ssh 守护程序配置文件: sudo nano /etc/ssh/sshd_config 接下来,取消注释“#PasswordAuthentication yes”行并将其值设置为 no,因此它将是: PasswordAuthentication no 然后按 Ctrl+X,键入 y 并按 Enter 保存文件。 最后通过重新加载SSH sudo systemctl reload ssh 无密码进入如下图:
OK,就这样。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |