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

文章目录

  • 前言
  • 一、概述
  • 二、身份验证机制
  • 三、验证过程
  • 四、基本参数
    • 1.服务名:
    • 2.端口号:
    • 3.配置文件:
      • (一)服务器端
      • (二)客户端
  • 五、配置文件解析
  • 六、基本操作
    • 1.ssh
    • 2.scp
    • 3.sftp
    • 4.ssh-copy-id
  • 总结


前言

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


一、概述

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

提供了多种身份验证机制

在Linux系统中,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服务,提高系统的安全性和效率。

你可能感兴趣的:(九五从零开始的运维之路,运维,服务器,linux)