小白带你学习LinuxSSH服务(二十三)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 小白带你学习LinuxSSH服务(二十三)



前言

SSH是一种网络协议,全称为Secure Shell。它用于在不安全的网络上,通过加密和身份验证的方式,安全地远程登录和执行指令。SSH可以提供加密通信和数据传输,以及安全地管理远程服务器和网络设备。其主要功能包括远程操作、文件传输和隧道功能。SSH通过使用公钥加密技术和密码身份验证等方法,确保通信的机密性、完整性和身份认证的安全性。

一、概念

安全外壳协议,提供安全可靠的远程连接

二、特点

ssh是工作在传输层和应用层的协议

ssh提供了一组管理命令

ssh

scp

sftp

ssh-copy-id

提供了多种身份验证机制

三、身份验证机制

密码验证       需要提供密码

密钥对验证       无需提供密码,直接登录

四、验证过程 及基本配置安装

客户端发起请求        ssh 服务器IP地址

确认是否保存指纹信息,yes确认保存

输入目标主机密码

打开子shell建立会话

若退出,则使用exit

4.1基本配置安装服务器和客户端1和远程客户端2

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

设置宽容模式

setenforce 0

配置静态IP服务器和客户端的IP都要配置

vim /etc/sysconfig/network-scripts/ifcfg-ens33

客户端1

远程客户端2

重启网络设备

systemctl restart network

看一下ssh服务进去目录

必须要输入ssh命令才会有

服务器没输入所以没有

Linux的多用户

登入一次就会在客户机1留下记录下次登录直接输入密码

五、加密机制

5.1  单向加密        不可逆的加密算法

5.2  对称加密       加密和解密使用相同的密钥

5.3  非对称加密       加密和解密使用一组密钥对(公钥、私钥)

六、基本参数

6.1  服务名      sshd

6.2  端口号      TCP/22

监听地址任意地址

6.3  配置文件

服务器端

/etc/ssh/sshd_config                ssh主程序sshd的配置文件

/etc/ssh/ssh_host_*               服务器的公钥和私钥文件

~/.ssh/authorized_keys               密钥库文件

客户端

/etc/ssh/ssh.config              客户端的全局配置文件

~/.ssh/known_hosts               客户端存储服务器主机指纹的文件

~/.ssh.id_rsa              客户端生成的私钥

~/.ssh.id_rsa.pub               客户端生成的公钥

没有绝对的客户端和服务器,主要是看谁是发起端,谁是接收端

6.4  配置文件解析

/etc/ssh/sshd_config

cd  /etc/ssh
vim  sshd_config

Port        监听端口

Listenaddress    监听地址,0.0.0.0表示监听所有地址

 

PubkeyAuthentication        是否启用密钥对验证

PasswordAuthentication    是否启用密码验证

PermitEmptyPasswords        是否启用空密码,密码验证时,最好关闭

AuthorizedKeysFile      .ssh/authorized_keys    密钥库文件

/etc/ssh/ssh_config

vim /etc/ssh/ssh_config

ConnectTimeout    连接超时时间

 

研究:

1、服务器端密钥库文件中保存的信息是谁的,怎么去理解?

保存的信息是客户端当前的登录用户,搞清楚客户端去登录的时候怎么验证比对这个

存储信息

七、基本操作

7.1  ssh

作用:远程连接的客户端工具

格式:ssh [options]  [user@]hostname  [command]

实验

指定用户登录

练习:客户端以jx01的用户身份登录到服务器

可以登录但是服务器上必须要有jx01的用户

不登录执行命令

练习:客户端使用liujt的用户不登陆服务器,执行创建目录的命令

ssh liujt@192.168.28.1 'mkdir /home/liujt/aaa

上客户端查看

如果上传了密钥对不用输入密码直接传

练习:客户端使用root的用户身份不登录到服务器,执行查看服务器网卡配置文件的内容

服务器看客户端3 ,执行查看文件内容

 

指定端口              -p

指定网卡               -b

7.2  scp

作用:基于ssh的远程复制命令

实验

本地<-->本地

本地<-->远程

客户端 拉服务器

远程<-->远程    !!!

需要第三台远程机

练习

1、将客户端192.168.28.2主机上的/mnt/888.txt文件复制服务器到192.168.28.1主机上

7.3  sftp

作用:安全的文件传输程序

实验

带上l表示当前目录,不带l表示root用户目录

7.4  密钥对验证

作用:提供免交互的密码验证

实验

客户端生成密钥对

ssh-keygen

客户端将公钥上传至服务器

ssh-copy-id

服务器启用密钥对验证

 客户端测试

传输完密钥客户端登录不需要密码直接登录

 

让我们来把远程机设置密钥对

1、客户端生成密钥对

ssh-keygen

     

2、客户端将公钥上传至服务器

ssh-copy-id

服务器启用密钥对验证

查看谁远程登录我们的主机

输入w查看

相关文章
|
编译器 Linux C++
学习C++笔记391
C++ 信号处理
94 0
|
C++
学习C++笔记383
C++ 预处理器
94 0
|
C++
学习C++笔记382
C++ 预处理器
84 0
|
C++
学习C++笔记314
C++ 数据抽象
89 0
|
C++
学习C++笔记300
C++ 重载运算符和重载函数
72 0
|
C++
学习C++笔记289
C++ 继承
92 0
|
C++
学习C++笔记272
C++ 数据结构
99 0
|
C++
学习C++笔记270
C++ 数据结构
90 0
|
安全 C++
学习C++笔记258
C++ 日期 & 时间
108 0
|
C语言 C++
学习C++笔记251
C++ 日期 & 时间
90 0