ssh远程登录协议

1.SSH服务

1.SSH基础

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

ssh客户端<————网络—————>ssh服务端

2.优点

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

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

3.ssh配置

open  ssh

服务名称:sshd

服务端主程序:/usr/sbin/sshd

服务端配置文件:/etc/ssh/sshd_config

4.ssh原理

公钥传输原理

客户端首次发起连接,服务端会生成一个随机会话id,会将服务端的公钥以及会话id发送给客户端

客户端收到会话id以及服务端的公钥,会给客户端自己的公钥以及会话id做运算,产生一个结果,然后再用服务端的公钥加密,再将这个加密结果传给服务端

服务端收到加密结果后,会用自己的私钥解密得到客户端的公钥和会话id运算的结果

因为已知会话id,所以就可以得到客户端的公钥,最后双方都持有对面的公钥

2.ssh登录

1.登录方法

1.登录方法一

ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port

当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口。

首次登录会询问,并要求输入密码

修改客户端配置文件 无需验证,有安全隐患

2.登录方法二

ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port

-l :-l 选项,指定登录名称。

-p: -p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)

模拟防火墙

方便跳板连接

3.常用配置项

vim /etc/ssh/sshd_config 

4.修改默认端口

vim  /etc/ssh/sshd_config

行修改自己默认的端口

5.禁止root用户登录

vim  /etc/ssh/sshd_config

开启38 行 并改为 no,默认注释并写的yes

38 PermitRootLogin no
注意虽然阻止了root 但是普通用户可以使用su

 

ssh zf@192.168.17.133

zf@192.168.17.133's password: 密码

用其他主机远程登录本机

root登录不上 

 6.白名单黑名单列表

vim /etc/ssh/sshd_config

手动添加
AllowUsers zf@192.168.17.130 lisi 

允许所有有的主机访问我的lisi用户

只允许 zhangsan 从192.168.91.101上访问

zf:

 

其他用户:

7.ssh服务的最佳实践

1.建议使用非默认端口 22

2.禁止使用protocol version 1

3.限制可登录用户 白名单

4.设定空闲会话超时时长

5.利用防火墙设置ssh访问策略

6.仅监听特定的IP地址 公网 内网

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

8.使用基于密钥的认证

9.禁止使用空密码

10.禁止root用户直接登录

11.限制ssh的访问频度和并发在线数

12.经常分析日志 分离

13.禁用反向dns

8.使用秘钥对及免交互验证登录

原理: 用户/密码

            基于秘钥

用户/密码:

1.生成公钥和私钥

2.将公钥导给对面

原理:

  1. 客户端发起ssh请求,服务器会把自己的公钥发送给用户

  2. 用户会根据服务器发来的公钥对密码进行加密

  3. 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功

基于密钥的登录方式

首先在客户端生成一对密钥(ssh-keygen)

并将客户端的公钥ssh-copy-id 拷贝到服务端

当客户端再次发送一个连接请求,包括ip、用户名

服务端得到客户端的请求后,会到authorized_keys()中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:kgc

服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端

得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端

服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录

实操

主机一

ssh-keygen -t ecdsa

生成密钥文件 

回车跳过

cd .ssh/到所在目录

ssh-copy-id -i id_ecdsa.pub 192.168.17.133

将公钥文件导入对方用户的 注意路径

ssh-copy-id -i id_ecdsa.pub  192.168.17.60

两台机子都要导入

 

免交互密码登录

ssh 192.168.17.133

记得登录一个要exit退出来

ssh 192.168.17.60

主机一配置成功

主机二

ssh-keygen -t ecdsa

生成密钥文件 

回车跳过

 cd .ssh/到所在目录

ssh-copy-id -i id_ecdsa.pub 192.168.17.130

将公钥文件导入对方用户的 注意路径

ssh-copy-id -i id_ecdsa.pub  192.168.17.60

两台机子都要导入

 

免交互密码登录

ssh 192.168.17.130

记得登录一个要exit退出来

ssh 192.168.17.60

 

主机二配置成功

主机三

ssh-keygen -t ecdsa

生成密钥文件 

回车跳过

 cd .ssh/到所在目录

ssh-copy-id -i id_ecdsa.pub 192.168.17.130

将公钥文件导入对方用户的 注意路径

ssh-copy-id -i id_ecdsa.pub  192.168.17.133

两台机子都要导入

 

免交互密码登录

ssh 192.168.17.130

记得登录一个要exit退出来

ssh 192.168.17.133

 

主机三配置成功

三台主机使用秘钥对及免交互验证登录成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值