哇~真的是你呀!今天是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验证



目录
相关文章
|
2月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
14天前
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
105 59
|
1月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
10天前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
2月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
2月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
2月前
|
监控 安全 Ubuntu
在Linux中,如何进行SSH服务配置?
在Linux中,如何进行SSH服务配置?
|
2月前
|
监控 安全 Linux
在Linux中,如何配置VPN服务?
在Linux中,如何配置VPN服务?
|
2月前
|
机器学习/深度学习 Ubuntu Linux
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
|
2月前
|
运维 监控 网络协议
在Linux中,如何进行网络服务的监控?
在Linux中,如何进行网络服务的监控?
下一篇
无影云桌面