Linux系统实现SSH安全免密登录的设置与管理

Linux系统实现SSH安全免密登录的设置与管理

解决方案goocz2025-02-01 11:07:0939A+A-

简介:SSH 呀,在 Linux 里可是功能超强的远程访问工具呢,能让咱们轻轻松松访问本机或者远程服务器,然后完成文件传输的操作。通常来说,SSH 登录大多用的是用户名加上密码这种方式。但实际上呀,还有一种更安全些的密钥登录方式。SSH 密钥登录用的是 RSA 非对称加密,所以 SSH 登录时就能用 RSA 密钥登录。SSH 有个专门创建 SSH 密钥的工具叫 ssh-keygen,通过它能很容易地生成 RSA 非对称密钥,包括公钥和私钥。

这篇文章主要讲的是怎么在 Linux 系统里实现 SSH 安全免密登录的过程。详细的内容您请看下面。

一、登录Linux客户端

1.SSH登录客户端

2.查看SSH帮助信息

二、SSH登录环境介绍

1.SSH服务端

Linux服务器DNSserver,服务器已经安装了SSH服务端软件。

执行指令# systemctl stauts sshd检查服务端是否已经启动

2.SSH客户端

Linux服务器EXTserver,服务器已经安装了SSH客户端软件。执行指令# ssh 服务端IP 查看是否可以访问。

备注:上述界面提示需要输入密码才能登录。

三、SSH安全免密登录

1.RSA非对称密钥介绍

(1) RSA非对称加密算法

(2) SSH密钥对登录步骤

2.SSH客户端生成非对称密钥

(1)登录客户端

(2)生成非对称密钥对

执行指令# ssh-keygen -t rsa生成RSA非对称密钥对

(3)检查生成的RSA密钥对

备注:执行指令后发现当前目录下多出两个文件,id_rsa和 id_rsa.pub,其中id_rsa是客户端使用的私钥,id_rsa.pub这个是服务端使用的公钥。

3.SSH客户端将公钥拷贝到服务端

说明:按照 OpenSSH 的规定,用户的公钥是保存在服务器/.ssh/authorized_keys 文件里。只要把公钥添加到这个文件里面,那就相当于公钥上传到服务器。每个公钥得占一行。要是这个文件不存在,可以手动创建。

(1)客户端EXtserver的公钥copy到服务端DNSserver指定位置

执行指令# cat ~/.ssh/id_rsa.pub | ssh root@IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

(2)服务端DNSserver查看生成的authorized_keys文件

4.SSH免密登录测试

说明:SSH免密登录的安全性依赖于私钥,需要注意保护私钥文件(id_rsa)不会被未经授权的用户访问。如果发现私钥文件丢失或被盗,必须立即生成新的密钥对并更新所有相关服务器的authorized_keys文件。

执行指令# ssh 服务端IP

点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5