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

简介: 小白带你学习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查看

相关文章
|
2天前
|
存储 算法
刷题专栏(二十七): 找不同
刷题专栏(二十七): 找不同
97 2
|
2天前
|
前端开发 程序员
前端知识笔记(四十四)———为什么要学代码
前端知识笔记(四十四)———为什么要学代码
36 0
|
6月前
|
编译器 C++
《C++避坑神器·十八》运算符重载,小白也能看懂
《C++避坑神器·十八》运算符重载,小白也能看懂
24 0
|
7月前
|
SQL 存储 算法
IT类技术面试:从小白到高手的进阶指南
IT类技术面试:从小白到高手的进阶指南
68 0
|
8月前
|
开发工具 数据库 git
python技术面试题(二十三)
python技术面试题(二十三)
|
12月前
|
存储 编解码
数电/数字电子技术期末考前突击复习(小白稳过,看这一篇就够了)
期末考试必过and不挂科and争高分😶‍🌫️还有其他科目的考试突击日后会陆续更新
197 0
|
索引 Python
Python语法小白入门(三)
Python语法小白入门
127 0
Python语法小白入门(三)
|
Python
Python语法小白入门(二)
Python语法小白入门
146 0
|
存储 JSON 数据格式
Python语法小白入门(四)
Python语法小白入门
162 0
|
存储 索引 Python
Python语法小白入门
Python语法小白入门
76 0