SSH远程访问与控制

目录

 ssh优点

作用

 SSH的 软件

公钥首次连接原理

ssh远程登录

shh命令 远程连接

直接连接先输入ssh  IP

连接指定用户  

在  /etc/ssh/sshd_config下面修改端口号 

修改服务端配置文件

​编辑 白名单,只能登录本机的mcb@用户

SSH服务的最佳实践

openSSH 服务器配置文件

ssh配置文件信息

 存放ssh服务端的配置文件   /etc/ssh/sshd_config

​编辑 使用密钥对免交互验证登录

1创建密钥

传送到远程主机

3登录验证


 ssh优点

数据传输是加密的,可以防止信息泄露

数据传输是压缩的,可以提高传输速度

作用

sshd 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务(文件传输功能)

 SSH的 软件


SSH 客户端:finalshell  xshell  putty   secureCRT   MobaXterm

SSH 服务端:openSSH (Centos 7 默认安装)

公钥首次连接原理


①客户端发起连接请求

②服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

③客户端生成密钥对

④客户端用自己的公钥或会话ID,计算出一个值Res,并用服务端的公钥加密

⑤客户端发送加密后的值到服务端,服务端用密钥解密,得到Res

⑥服务端用解密后的Res或者是会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

⑦最终:双方各持有三个密钥,分别为自己的一对公钥、私钥、以及对方的公钥,之后的所有的通讯都会被加密。

ssh远程登录


每次使用sshd登录到其他主机,双方都会生成一个文件known_hosts把对方主机的公钥在.ssh/known_hosts文件里。

如何确定此台机器就是我要连的机器?

  1. ssh [选项] [email protected]#指定登录用户、目标主机地址作为参数

  2. ssh -p 20 [email protected] #-p为指定端口

shh命令 远程连接

直接连接先输入ssh  IP

SSH远程访问与控制_第1张图片

第一次连接服务端机器会询问是否要验证公钥,同意就会自动获取服务端公钥 

验证是否连接正确服务机,可查看服务端的公钥 

SSH远程访问与控制_第2张图片

连接指定用户  

SSH远程访问与控制_第3张图片

 指定端口号

在  /etc/ssh/sshd_config文件修改端口号 

sshd服务的默认端口号是 22,如果不是此端口,需要 -p 来指定端口

[root@localhost ~]#vim /etc/ssh/sshd_config

SSH远程访问与控制_第4张图片

 [root@localhost ~]#systemctl restart sshd

在另一台虚拟机验证,使用客户机就需要指定端口号

SSH远程访问与控制_第5张图片

跳板登录 

提供了一种安全的方式管理和连接位于内部网络中的主机,同时限制了对内部网络的直接访问

#在目标服务端主机上模拟防火墙拒绝客户端连接,客户端使用跳板连接到目标主机上
[root@localhost .ssh]#iptables -A INPUT -s 192.168.11.5-j REJECT 
[root@localhost ~]#ssh -t 192.168.11.9 ssh 192.168.11.5

此功能马传斌继续研究

远程登陆执行操作命令

#ssh  192.168.11.9  ifconfig

白名单:默认拒绝所有,只有白名单上允许的人才可以访问

黑名单:默认允许所有,只有黑名单上的用户让你不允许访问

注意     实验关闭防火墙  防护 黑白不能同时启用

修改服务端配置文件

root@localhost ~]#vim /etc/ssh/sshd_config

SSH远程访问与控制_第6张图片 白名单,只能登录本机的mcb@用户

SSH远程访问与控制_第7张图片

别的用户无法登录 

SSH远程访问与控制_第8张图片

禁止用户登录 

#vim  /etc/ssh/sshd_config

宿舍没有网停更

SSH服务的最佳实践


①建议使用非默认端口22

②禁止使用protocol version 1

③限制可登录用户(白名单)

④设定空闲会话超时时长

⑤利用防火墙设置SSH访问策略

⑥仅监听特定的IP地址、公网、内网

⑦基于口令认证时,使用强密码策略

⑧使用基于密钥的认知

⑨禁止使用空密码

⑩禁止root用户直接登录

11、限制ssh的访问频率和并发在线数

12、经常分析日志分离

openSSH 服务器配置文件


服务名称:sshd
服务端主程序:/usr/sbin/sshd  
服务端配置文件:/etc/ssh/sshd_config 
客户端配置文件:/etc/ssh/ssh_config

ssh配置文件信息

在linux中实现ssh,是通过opsnSSH的sshd服务提供的

SSH远程访问与控制_第9张图片

 存放ssh服务端的配置文件   /etc/ssh/sshd_config

[root@localhost ~]#vim /etc/ssh/sshd_config

 使用密钥对免交互验证登录

  有密码又无需输入密码

1创建密钥

SSH远程访问与控制_第10张图片

传送到远程主机

SSH远程访问与控制_第11张图片

3登录验证

SSH远程访问与控制_第12张图片

面交互验证

客户端先输入 ssh-agent  bash 将这个命令交给 bash 去管理

再输入 ssh-add  是将用户的私钥添加到运行中的 ssh-agent 中,这样在后续的SSH连接过程中,就不需要每次都手动输入私钥的密码了。一旦私钥被添加到ssh-agent 中,它会暂时保存解密后的私钥以供后续使用

宿舍没有网停更

你可能感兴趣的:(ssh,服务器,linux)