哇~真的是你呀!今天是LINUX中的SSH服务。

目录

前言

一、概述

二、身份验证机制及验证过程

三、加密机制

四、基本参数

五、基本操作

六、操作



前言

SSH(Secure Shell)是一种加密网络协议,用于远程登录和安全传输数据。在Linux系统中,SSH服务是一种常见的远程管理工具,允许用户通过安全的连接远程访问和控制Linux服务器。

以下是关于Linux中SSH服务的一些重要信息:

1. 连接方式:使用SSH协议,客户端可以通过SSH命令行工具或图形界面工具(如PuTTY)与远程Linux服务器建立连接。

2. 加密通信:SSH使用对称密钥加密和非对称密钥加密来保护传输的数据。这使得数据在网络上传输时不容易被窃听或篡改。

3. 用户身份验证:SSH提供多种身份验证方式,常见的有密码验证和公钥验证。密码验证是最基本的方式,用户需要输入用户名和密码来登录。公钥验证使用密钥对,客户端将私钥保存在本地,而公钥则添加到服务器上的授权文件。

4. 安全性设置:Linux系统管理员可以对SSH服务进行安全性设置,例如限制允许登录的用户、禁用密码验证、限制SSH访问的IP地址等。

5. 文件传输:除了远程登录,SSH还支持安全文件传输。使用SCP(Secure Copy)命令可以将文件从本地复制到远程服务器,或从远程服务器复制到本地。

总而言之,SSH服务在Linux中是一种安全可靠的远程管理工具,使用户能够远程登录和管理服务器,以及传输文件并运行图形界面应用程序。


一、概述

1.概念: 安全外壳协议,提供安全可靠的远程连接

2.特点:1)ssh是工作在传输层和应用层的协议;

           2)ssh提供了一组管理命令ssh、scp、sftp、ssh-copy-id

           3)提供了多种身份验证机制

二、身份验证机制及验证过程

1.验证机制:1)密码验证:需要提供密码

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

2.验证过程:1)客户端发起请求:ssh服务器IP地址

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

                     3)输入目标主机密码

                    4)打开子shell建立会话

                    5)若退出,输入exit即可

三、加密机制

1)单向加密: 不可逆的加密算法

2)对称加密: 加密和解密使用相同的密钥

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

四、基本参数

1.服务名sshd 端口号22/TCP

2.配置文件:

1)服务器端  /etc/ssh/sshd_config 是 ssh主程序sshd的配置文件

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

                   ~/.ssh/authorized_keys是  密钥库文件

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

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

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

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

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

3.配置文件解析:

1)/etc/ssh/sshd_config
    Port        监听端口
    Listenaddress    监听地址,0.0.0.0表示监听所有地址
    PubkeyAuthentication        是否启用密钥对验证
    PasswordAuthentication    是否启用密码验证
    PermitEmptyPasswords        是否启用空密码,密码验证时,最好关闭
    AuthorizedKeysFile      .ssh/authorized_keys    密钥库文件

2)/etc/ssh/ssh_config
    ConnectTimeout    连接超时时间

五、基本操作

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

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

指定端口-p  指定网卡-b

2)scp作用:基于ssh的远程复制命令,可实现下例类型的操作
        本地<-->本地
        本地<-->远程
        远程<-->远程 

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

4)密钥对验证 作用:提供免交互的密码验证。步骤如下:
        客户端生成密钥对 ssh-keygen
        客户端将公钥上传至服务器 ssh-copy-id
        服务器启用密钥对验证
        客户端测试

六、操作

1.打开3台虚拟机1、2、3,分别设置IP为192.168.1.1  192.168.1.2 192.168.1.3 并互相验证通联性哇~真的是你呀!今天是LINUX中的SSH服务。_第1张图片

 2.在虚拟机1上创建用户hy设置密码123并使用虚拟机2连接1

密码登录:

1)在1上创建用户

 2)在虚拟机2上的家目录ls -al查看发现是没有ssh的目录哇~真的是你呀!今天是LINUX中的SSH服务。_第2张图片

 在虚拟机2使用hy登录ssh [email protected]并输密码,这就是密码登录哇~真的是你呀!今天是LINUX中的SSH服务。_第3张图片

 当我们想退出时输入exit,此时输入ls -al查看会发现出现了隐藏目录.ssh哇~真的是你呀!今天是LINUX中的SSH服务。_第4张图片

 查看.ssh  其中known_hosts表示客户端存储服务器主机指纹的文件

但是虚拟机1上是没有的哇~真的是你呀!今天是LINUX中的SSH服务。_第5张图片

 免密登录:

1)免密登录就是需要设置我们的秘钥对,我们再虚拟机上2上操作输入ssh-keygen生成密钥对哇~真的是你呀!今天是LINUX中的SSH服务。_第6张图片

 2)将公钥发送给虚拟机1输入ssh-copy-id 192.168.1.1哇~真的是你呀!今天是LINUX中的SSH服务。_第7张图片

  此时查看虚拟机1的文件ls -al 发现多了.ssh而且里面的authorized_keys则是密钥库文件哇~真的是你呀!今天是LINUX中的SSH服务。_第8张图片

 3)验证:在虚拟机2上验证无密登录虚拟机1哇~真的是你呀!今天是LINUX中的SSH服务。_第9张图片

 3.在虚拟机2上创建文件1.test到虚拟机1上

1)不登录操作

使用我的虚拟机2输入ssh 192.168.1.1 mkdir 1.test

 使用虚拟机1验证

 2)登录操作

在虚拟机2上登录1输入ssh 192.168.1.1登录,创建文件mkdir 2.test

验证使用虚拟机1验证 

 4.传输文件

1)本地<-->本地

在虚拟机2上对1操作,拷贝1.test到var命令scp 192.168.1.1:1.test /var/哇~真的是你呀!今天是LINUX中的SSH服务。_第10张图片

 验证:虚拟机1查看

 2)本地<-->远程

把1.test传输到虚拟机2,登录虚拟机1,命令scp 1.test/ 192.168.1.2:/var/传输哇~真的是你呀!今天是LINUX中的SSH服务。_第11张图片

 3)远程<-->远程   

在虚拟机1的1.text中创建1.txt并把它 传送到虚拟机3的var命令scp 192.168.1.1:1.test/1.txt 192.168.1.3:/var

 

 登录虚拟机3验证

 

 


 

你可能感兴趣的:(linux,ssh,运维)