SSH服务简介

给你一囗甜甜゛ 提交于 2019-12-24 14:27:34

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

SSH 是 secure shell protocol 的简写,是专为远程登录会话和其他网络服务提供安全性的协议,SSH 服
务默认端口为22,ssh默认提供了两个协议: 1. SSH 服务 2. SFTP 服务, SSH 服务由服务端软件 OpenSSH和
客户端(SSH 命令, XSHell 等),它有两个不兼容的协议版本,分别为1.X,2.X,SSH 服务后端的守护进程名称
为: sshd,负责实时监听 SSH 客户端连接请求并进行处理,ssh 客户端包括ssh 程序以及 scp, sftp 等应用
程序

查看 SSH 安装信息

[root@localhost ~]# rpm -qa openssh
openssh-7.4p1-11.el7.x86_64

SSH 配置文件

# ssh 服务端配置文件
[root@localhost ~]# ls /etc/ssh/sshd_config 
/etc/ssh/sshd_config
# ssh 客户端配置文件
[root@localhost ~]# ls /etc/ssh/ssh_config  
/etc/ssh/ssh_config

ssh 连接建立流程

1. 服务端 sshd 服务启动会生成一个秘钥对,存放在 server 中
2. client 发送连接请求的时候, Server 端会把生成的公钥发送到客户端,client 接收公钥,并与之前存储的公钥对比,看
是否一致(通过~/.ssh/known_hosts文件判断)
3. client 接收公钥完成之后,会生成一对秘钥对,并以加密方式吧公钥发送到服务端
4. 完成之后,客户端服务端就可以使用这两个秘钥对进行加密交换数据了

ssh 主要提供两种认证方式

  1. 口令认证 使用账号密码的方式认证

  2. 秘钥认证

    通过公钥进行认证,需要把公钥保存到目标服务器上,目标服务器会在 ~/.ssh 目录下面找对应的公钥,使用秘钥认证更安全,但是 要保证秘钥对的安全

sshd_config常用配置

# 对外服务端口号
#Port 22
# 服务监听地址,默认为所有地址
#ListenAddress 0.0.0.0
#ListenAddress ::

# 是否允许 root 账号登录
#PermitRootLogin yes
# 禁止空密码登录
#PermitEmptyPasswords no

# 是否使用 DNS 反向解析
#UseDNS no
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!