【推荐】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 主要提供两种认证方式
口令认证 使用账号密码的方式认证
秘钥认证
通过公钥进行认证,需要把公钥保存到目标服务器上,目标服务器会在 ~/.ssh 目录下面找对应的公钥,使用秘钥认证更安全,但是 要保证秘钥对的安全
sshd_config常用配置
# 对外服务端口号
#Port 22
# 服务监听地址,默认为所有地址
#ListenAddress 0.0.0.0
#ListenAddress ::
# 是否允许 root 账号登录
#PermitRootLogin yes
# 禁止空密码登录
#PermitEmptyPasswords no
# 是否使用 DNS 反向解析
#UseDNS no
来源:oschina
链接:https://my.oschina.net/canghaidekongjian/blog/3146614