LINUX笔记6(SSH远程登陆)

  •  介绍

远程管理Linux可以通过多种方式进行,例如SSH、VNC等都可以实现。这其中又以SSH的使用最为广泛,主要原因是SSH实现了一种更为安全、便捷的方式。

  • SSH服务工作原理

SSH全称Secure Shell,简单来说SSH是一种协议,用户远程加密的安全登陆。简单的说,如果一个用户从远程计算机使用SSH协议登陆到本地,可以认为这种登陆时安全的,即使传输的数据包被截获也不必担心。

  • SSH服务器和客户端的工作流程

SSH协议可以分为三个部分:传输层协议、用户认证协议和连接协议。其中传输层协议提供数据加密、服务器认证和信息完整性等安全方面的功能;用户认证协议则主要用于客户端身份认证;连接协议则将建立的加密隧道分为若干逻辑通道。其他高层协议可以利用这些逻辑通道建立安全的通信通道。

SSH协议由服务器和客户端两部分构成,目前由两个版本1.x和2.x,不同的版本之间可以向下兼容,即2.x的客户端可以访问1.x的服务端。服务端是一个守护进程,在RHEL8种名为sshd,守护进程将会一直运行在后台并监听来自22/TCP端口的请求。服务端一般包括密钥交换、公共密钥认证、对称密钥加密及非安全连接等。客户端包含了SSH访问程序(windows使用putty、Xshell等)、SCP(远程拷贝,windows中可以使用winscp)、slogin(远程登陆)、SFTP(安全文件传输,windows中使用winscp)等应用程序。

  • 安装OpenSSH服务器

  • 在RHEL8中默认已经安装了。可以使用下面命令查询:
rpm -qa | grep ssh

 LINUX笔记6(SSH远程登陆)_第1张图片

  •  可以看见OpenSSH的服务端和客户端都已经安装了。

LINUX笔记6(SSH远程登陆)_第2张图片

  • 安装命令(如果一台机器,要做服务端和客户端,那就上面的三个包都要安装)
yum install openssh.x86_64
yum install openssh-server.x86_64
yum install openssh-clients.x86_64
  • 启动sshd(RHEL默认是已经启动)
systemctl start sshd.service
  • 查看sshd状态
systemctl status sshd.service

LINUX笔记6(SSH远程登陆)_第3张图片

  • OpenSSH服务端配置文件

OpenSSH服务端配置文件位于/etc/ssh/sshd_config,此目录下还有一个名为ssh_config的文件文件,它是客户端的配置文件。OpenSSH著配置目录/etc/ssh还有一些密钥文件(通常文件名中由rsa字符串),这些文件主要用于通信数据包的加密工作。

LINUX笔记6(SSH远程登陆)_第4张图片

  •  SSH客户端

在windows系统中登陆需要借助第三方软件,比如SecureCRT,Xshell等。

  • 以Xshell为例

  • 密码登陆

LINUX笔记6(SSH远程登陆)_第5张图片

LINUX笔记6(SSH远程登陆)_第6张图片

  •  密钥登陆

默认情况下,私钥和公钥分别保存在~/.ssh/id_rsa和~/.ssh/id_rsa.pub文件中

ssh-keygen

LINUX笔记6(SSH远程登陆)_第7张图片

  •  将公钥写道服务器.ssh目录下
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.177.128

LINUX笔记6(SSH远程登陆)_第8张图片

 这个时候,就能做到免密登陆了,由于作者的电脑配置不高,开两台会卡死,因此就不验证了。

具体的免密登陆,可以看这篇博客。ssh免密登陆配置方法

 

你可能感兴趣的:(LINUX笔记6(SSH远程登陆))