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


前言

本篇将简述的内容: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

密钥库文件

(二)客户端

/etc/ssh/ssh.config

客户端的全局配置文件

~/.ssh/known_hosts

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

~/.ssh.id_rsa

客户端生成的私钥

~/.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服务,提高系统的安全性和效率。

猜你喜欢

转载自blog.csdn.net/liujiuwu_xyz/article/details/131807463
今日推荐