九五从零开始的运维之路(其二十二)

简介: SSH服务是Linux系统中重要的远程访问和管理工具,通过深入探索其原理、配置、安全性和常见问题解决方法,读者可以更好地理解和使用SSH服务,提高系统的安全性和效率。

前言

本篇将简述的内容:Linux系统下的SSH服务


一、概述

SSH:

安全外壳协议(工作在传输层和应用层的协议),提供安全可靠的远程连接。


提供了多种身份验证机制


在Linux系统中,SSH服务是一项重要的功能,它提供了安全的远程访问和管理方式。用于在网络中安全地远程登录和执行命令。


二、身份验证机制

密码验证

每次需要手动提供密码


密钥对验证

配置提交密钥对后,即可实现免密登录


三、服务特点

1.安全性:

SSH使用加密技术来保护数据的传输过程,防止数据被窃听或篡改。它还提供了身份验证机制,确保只有授权的用户可以访问服务器。


2.远程登录:

SSH允许用户通过远程登录方式访问服务器,无需物理接触服务器。这对于远程管理服务器、远程协作和远程故障排除非常有用。


3.文件传输:

SSH支持安全的文件传输,可以通过SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)协议在本地计算机和远程服务器之间传输文件。


4.端口转发:

SSH可以通过端口转发功能将本地计算机上的服务映射到远程服务器上,实现远程访问本地服务的功能。


四、验证过程

客户端发起请求:

ssh 服务器IP地址

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

输入目标主机密码

打开子shell建立会话

若退出,则使用exit


五、基本参数

1.服务名:

sshd


2.端口号:

TCP/22


3.配置文件:

(一)服务器端

/etc/ssh/sshd_config


ssh主程序sshd的配置文件

/etc/ssh/ssh_host_*


服务器的公钥和私钥文件


~/.ssh/authorized_keys
1

密钥库文件


(二)客户端

/etc/ssh/ssh.config


客户端的全局配置文件


~/.ssh/known_hosts


客户端存储服务器主机指纹的文件


~/.ssh.id_rsa
1

客户端生成的私钥


~/.ssh.id_rsa.pub


客户端生成的公钥


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


六、配置文件解析

/etc/ssh/sshd_config 文件内容


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


/etc/ssh/ssh_config 文件内容


ConnectTimeout  #连接超时时间


七、基本操作

1.ssh

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

格式:

ssh [options]  [user@]hostname  [command]


可实现

(一)指定用户登录

(二)不登陆服务器shell执行命令


2.scp

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

可实现

本地<----->本地

本地<----->远程

远程<----->远程


着重说下本地到远程

(一)从本地复制到远程

命令格式:

scp local_file remote_username@remote_ip:remote_file

scp local_file remote_ip:remote_file

(二)从远程复制到本地

命令格式:

scp remote_username@remote_ip:remote_file local_file

scp remote_ip:remote_file local_file


3.sftp

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

因为 SFTP 是基于 SSH 协议的,所以默认的身份认证方法与 SSH 协议保持一致。


4.ssh-copy-id

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


客户端生成密钥对


ssh-keygen


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


ssh-copy-id


服务器启用密钥对验证

客户端测试


总结

SSH服务是Linux系统中重要的远程访问和管理工具,通过深入探索其原理、配置、安全性和常见问题解决方法,读者可以更好地理解和使用SSH服务,提高系统的安全性和效率。

目录
相关文章
|
运维 Java 应用服务中间件
九五从零开始的运维之路(其十九)
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 Tomcat虚拟主机是通过linux或windows操作系统下进行独立运行的一个网站发布容器,他是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
83 0
|
SQL 运维 关系型数据库
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其三十五)
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
69 2
|
监控 Linux 网络安全
Linux系统下的keepalived双机热备
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但 是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
160 0
|
运维 负载均衡 算法
九五从零开始的运维之路(其三十六)
(一)四层负载均衡器 四层负载均衡器也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
63 0
|
存储 缓存 NoSQL
九五从零开始的运维之路(其三十二)
本篇将简述的内容:Linux系统下的Redis基础
71 0
|
存储 运维 Linux
九五从零开始的运维之路(其三十一)
计划任务是在指定的时间间隔内自动执行的任务。在Linux系统中,常用的计划任务工具是crond(cron daemon)。用户可以通过创建计划任务来定期执行指定的命令或脚本。
63 0
|
存储 运维 关系型数据库
九五从零开始的运维之路(其二十九)
数据库备份是指将数据库中的数据、表格、视图、存储过程、触发器等信息备份到另一个地方,以便在数据库丢失或损坏时进行恢复。数据库备份是数据库管理中必不可少的一项工作,通过备份可以保护数据库中的数据和业务
75 0
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其二十八)
数据库用户权限管理是数据库系统中非常重要的一个方面,它用于控制不同用户访问和操作数据库的权限范围。数据库用户权限管理可以保护敏感数据和数据库结构,确保只有被授权的用户才可以操作和使用数据库,防止数据被修改或泄露,并最大程度地保证数据库的安全。为了保护数据库的安全性,合理管理MySQL服务用户的权限是至关重要的。
52 0
|
存储 SQL 运维
九五从零开始的运维之路(其二十七)(1)
排序查询:排序查询是通过SQL查询语句将所查询的结果按照指定的排序方式排列 升序(默认):ASC
163 0