1. Openssh功能介绍
1.1 Openssh功能概述
OpenSSH 是 SSH (Secure SHell远程连接) 协议的免费开源软件
软件安装名称——Openssh-server
配置文件——/etc/ssh/sshd_conf
默认端口——22(接口是用来区分Ip地址开启的不同)
客户端命令——ssh
查看系统是否装有openssh-server

1.2 ssh命令的用法
ssh命令
| ssh remoteUSER@remoteIP |
|---|
| ssh -l 指定登录用户 |
| ssh -i 指定密钥 |
| ssh -x 开启图形 |
| ssh - p 指定端口 |
| ssh -f 后台运行 |
| ssh -o 指定连接参数 |
| ssh -t 指定连接跳板 |
实验:两台主机远程连接
构建实验环境:开启servera和workstation两台虚拟机
workstation为服务端,在workstation里设定
servera为客户端,用来做测试,在用户端操作

虚拟机workstation(服务端)的操作

设定虚拟机workstation的ip为172.25.254.165


虚拟机servera(客户端)的操作(也需要删除家目录下.ssh来纯净环境)

设定虚拟机servera的ip为172.25.254.250



如果ping不通,可以删除网卡配置一块新网卡

两台主机进行远程连接:ssh -l root 连接主机的ip

注意:在实验开始前,要保持实验环境的纯净需要删除~/.ssh文件,因为在ssh命令远程连接时yes后建立认证文件,会自动生成~/.ssh/known_hosts记录文件,而两次ssh所生成的.ssh文件内容是不同的


ssh remoteUSER@remoteIP
ssh -l 指定登录用户

[root@workstation Desktop]# w查看谁连我
w - Show who is logged on and what they are doing.

ssh -i 指定密钥
ssh -X 开启图形
注意:ssh命令默认文本连接,不开启图形



ssh - p 指定端口(22)

ssh -f 后台运行

[root@localhost Desktop]# ps aux | grep ssh

ssh -o 指定连接参数(参数个数为1)
[root@localhost Desktop]# man ssh



ssh -t 指定连接跳板


3. Openssh服务的key认证
Openssh认证方式
| 密码认证(知道登陆密码就可以直接访问主机)(对称加密) |
|---|
| 至少6个字符 |
| 包含数字,字母,下划线特殊符号等 |
| 快捷方便,易泄漏 |
| 可被暴力破解 |
| 密码容易丢失 |
| 密钥认证(非对称加密) |
|---|
| 新型认证方式,分为公钥(相当于锁)及私钥 (相当于钥匙) |
| 公钥上传服务器 |
| 私钥配对认证,不会被盗用 |
| 攻击者一般无法通过密钥登录服务器 |
Openssh KEY生成密钥
| 加密方法 | 支持rsa及dsa加密(一般用rsa) |
|---|---|
| 生成密钥 | ssh-keygen |
| 上传密钥 | ssh-copy-id –i keyfile remoteUSER@remoteIP |
关于Openssh的文件
| 文件 | 功能 |
|---|---|
| ~/.ssh/authorized_keys | 用于保存用户的公钥文件 |
| ~/.ssh/known_hosts | 辨别服务器的唯一散列码 |
| ~/.ssh/id_dsa | 用户的私钥文件 |
| ~/.ssh/id_rsa.pub | 用户的公钥文件 |

实验:Openssh服务的key认证——对workstation主机设定Key加密
设定:虚拟机servera为客户端,虚拟机workstation为服务器,
1.设定在客户端servera生成密钥(在哪里设定都可以)


2.公钥上传服务器(用公钥来上锁)
ssh-copy-id –i keyfile remoteUSER@remoteIP


3.密钥生成之后,用户端只要有私钥就可以登陆服务器

4.关闭服务器中密码登陆配置,防止其他用户暴力破解密码登陆

可以在服务器中关闭密码登陆 [root@workstation .ssh]# vim /etc/ssh/sshd_config




5.可以通过更改锁头authorized_keys来阻止有密钥的用户登陆


4. Openssh服务的安全优化sshd服务常用相关配置参数
配置文件 —— /etc/ssh/sshd_config


| 配置参数 | |
|---|---|
| Port 22 | 监听端口 |
| Protocol 2 | 指定协议版本 |
| ListenAddress | 绑定IP |
| HostKey | 设定HostKey密钥路径 |
| PermitRootLogin | 设定超级用户是否能登录 |
| PubkeyAuthentication | 公钥认证开关 |
| PasswordAuthentication | 密码认证开关 |
| AllowUsers | 用户白名单 |
| DenyUsers | 用户黑名单 |
Port 22 ——监听端口

在/etc/ssh/sshd_config里更改端口为6666
命令 netstat -anltpe | grep sshd,可以查看端口




Protocol 2 ——指定协议版本:一般不修改
ListenAddress—— 绑定IP



HostKey ——设定HostKey密钥路径:一般默认不修改

PermitRootLogin——设定超级用户是否能登录




PubkeyAuthentication——公钥认证开关:关闭后不能使用密钥认证
PasswordAuthentication——密码认证开关


DenyUsers ——用户黑名单(指定用户不可以连接,其他都可以)




AllowUsers ——用户白名单(指定用户可以连接,其他的不行)




723

被折叠的 条评论
为什么被折叠?



