1 操作环境
[root@master01 ~]
CentOS Linux release 7.9.2009 (Core)
2 ssh简介
ssh(Secure Shell)是建立在应用层基础上的,专为远程登录会话和其他网络服务提供安全性的协议。通过加密和认证机制实现安全的访问和文件传输等业务,可以有效防止远程管理过程中的信息泄露问题。
3 openssh
官网 OpenSSH 是使用 SSH 协议进行远程登录的首要连接工具。它加密所有流量以消除窃听、连接劫持和其他攻击。此外,OpenSSH 提供了大量的安全隧道功能、多种身份验证方法和复杂的配置选项。 OpenSSH 套件包含以下工具:
查看系统中有没有安装openssh
[root@master01 ~]
openssh-clients-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64楼
4 ssh基于密钥的认证过程
基于密钥的安全验证不需要在网络上传送用户口令。使用基于密钥的安全验证不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的,因为“中间人”没有你的私钥。
5 配置免密通道
(1) 客户端生成公钥和私钥
[root@master01 ~]
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:eaZWhmylVg/xhZx3YzW6SjS1Dz6vOIZvxQmkBttPcFU root@master01
The key's randomart image is:
+---[RSA 2048]----+
| ...=oEo|
| . . ==.+oo|
| + Oo.=...|
| o X.=o + |
| S B.++.. |
| o *...+o |
| o ... . |
| . . +. . |
| +o.. |
+----[SHA256]-----+
openssh客户端配置文件/etc/ssh/ssh_config下使用IdentityFile指定使用的私钥,默认有/.ssh/identity、/.ssh/id_rsa、/.ssh/id_dsa、/.ssh/id_ecdsa、~/.ssh/id_ed25519
(2) 将公钥(id_rsa.pub)的内容写入~/.ssh/authorized_keys文件
[root@master01 .ssh]
root@192.168.220.4's password:
id_rsa.pub
[root@master02 ~]
openssh服务端配置文件/etc/ssh/sshd_config中使用AuthorizedKeysFile字段指定公钥保存的文件,默认是.ssh/authorized_keys
(3) 在客户端测试
[root@master01 .ssh]
Last login: Fri Sep 9 20:25:21 2022 from 192.168.220.1
[root@master02 ~]
|