远程访问Linux系统的工具——SSH;及其认证原理

SSH相关介绍

管理服务器操作系统方式:

1.图形化、字符页面-拿着显示屏、键盘鼠标插入到服务器上的插口上

2.通过网络远程管理服务器,不需要1对1面对服务器

Windows与Linux远程连接的区别

windows 使用rdp远程桌面进行管理

Linux使用ssh 进行远程

SSH

ssh是一个服务,也是一个协议,也是一个远程连接的工具

ssh服务由openssh软件提供

        openssh-client——客户端

        openssh-server——服务端

openssh是一个客户端/服务端的架构,也就是client和server

        C/S --->客户端/服务端

        B/S--->浏览器/服务端

openssh软件包已经在Linux自带,包括CentOS   RHEL   openeuler

ssh是通过openssh-client客户端去连接openssh-server服务端

ssh命令 --> openssh-client客户端提供

远程连接

ssh 用户名@远程主机的IP地址 / 主机名 (登录远程主机)

RHEL9默认拒绝root远程登录,故:

        1.修改/etc/ssh/sshd_conf配置文件:

        2.加上 PermitRootLogin yes

        3.关闭防火墙systemctl stop firewalld

        4.关闭SELinux,setenforce 0

        5.执行 systemctl restart sshd

退出登录:exit

ssh 用户名@远程主机的IP地址 / 主机名 命令 (在远程主机上执行命令)

ssh -X 用户名@远程主机的IP地址 / 主机名 (支持转发图形协议)

怎么用windows通过ssh登录Linux系统方式

windows10开始,系统已经安装openssh-client 提供了ssh命令

通过cmd或者powershell登录

通过第三方的ssh工具进行登录(xshell putty mobaxterm crt finalshell 等)

ssh认证原理

基于密码的认证

基于密钥的认证

两者都是通过密钥对的形式进行认证

对称加密

加密和解密都是同一把密钥

非对称加密

加密用公钥,解密用私钥

特殊情况

比如数字签名,加密用私钥,解密用公钥

密码认证的流程

1.客户端发送连接请求,服务端发送服务端的公钥给客户端(第一次连接,客户端会提示是否接受指纹信息)

2.客户端输入yes保存服务端的公钥到当前用户的家目录下的.ssh/known_hosts文件中

3.客户端输入对端用户的密码,使用服务端公钥进行加密发送给服务端

4.服务端接受加密的密文,然后使用服务端私钥进行解密,然后进行密码验证

注:.ssh/known_hosts文件中,每一行都是一把公钥

密钥认证的流程(免密登录)

前提:客户端已经将公钥发送给了服务端

1.客户端发送ssh请求连接,将本地公钥已经发送给了服务端;服务端会验证本地是否有客户端的公钥

2.服务端验证本地有客户端的公钥,则使用客户端公钥对字符串加密,将加密后的字符串发送给客户端

3.客户端接受加密后的字符串后,使用本地私钥解密,然后使用服务端公钥对其加密发送给服务端

4.服务端接受加密字符串后,使用本地服务端私钥进行解密,并且进行字符串的比对。如果一致,则允许登录

公钥发送给指定用户,才能免密登录到指定用户(如发送给user1,无法实现免密登录root)

免密操作步骤

1.客户端生成一对公私钥

a)ssh-keygen -t 生成的密钥类型

2.客户端将本地的公钥发送给服务端

a)ssh-copy-id -i 指定公钥 对端用户名@对端IP地址

        服务端下的authorized_keys文件中每一行都是一把公钥

进行免密操作后,ssh可以免密登录系统,scp也可以免密传输文件

ssh私钥建议

1.尽量存放到用户家目录下的.ssh目录下,目录的权限尽量为700

2.谁用私钥进行登录,私钥的拥有人最好是谁。只要私钥有读的权限那么所有人都可以使用(私钥的权限不要设置过大)

ssh私钥加密的代理

适合使用在私钥进行加密的情况,每次免密登录都需要输入私钥的密码,有了代理后,无需输入私钥密码即可登录;

ssh-agent bash

开启ssh代理,开启一个子shell,在子shell中生效

  • 22
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值