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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: SSH(Secure Shell)是一种加密网络协议,用于远程登录和安全传输数据。在Linux系统中,SSH服务是一种常见的远程管理工具,允许用户通过安全的连接远程访问和控制Linux服务器。以下是关于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 并互相验证通联性

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

密码登录:

1)在1上创建用户

2)在虚拟机2上的家目录ls -al查看发现是没有ssh的目录

在虚拟机2使用hy登录ssh hy@192.168.1.1并输密码,这就是密码登录

当我们想退出时输入exit,此时输入ls -al查看会发现出现了隐藏目录.ssh

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

但是虚拟机1上是没有的

免密登录:

1)免密登录就是需要设置我们的秘钥对,我们再虚拟机上2上操作输入ssh-keygen生成密钥对

2)将公钥发送给虚拟机1输入

ssh-copy-id 192.168.1.1

 此时查看虚拟机1的文件ls -al 发现多了.ssh而且里面的authorized_keys则是密钥库文件

3)验证:在虚拟机2上验证无密登录虚拟机1

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/

验证:虚拟机1查看

2)本地<-->远程

把1.test传输到虚拟机2,登录虚拟机1,命令scp 1.test/ 192.168.1.2:/var/传输

3)远程<-->远程  

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

登录虚拟机3验证



目录
相关文章
|
13天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
35 5
linux系统服务二!
|
13天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
35 3
linux系统服务!!!
|
3月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
9天前
|
安全 Linux Shell
ssh 远程控制服务
SSH(Secure Shell)是一种用于远程登录的安全协议,相比FTP和Telnet,它提供了更高的安全性,避免了明文传输带来的风险。要使用SSH远程管理Linux系统,需要配置sshd服务。本文介绍了如何克隆Linux服务器、修改网络配置,并通过SSH连接两台服务器,最后在目标服务器上创建一个日志文件。
24 4
|
10天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
2月前
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
276 59
|
17天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
80 3
|
17天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
63 3
|
1月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
25 2
|
1月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
72 0