0
点赞
收藏
分享

微信扫一扫

Linux中的远程登陆服务

东林梁 2022-02-18 阅读 81

一.Openssh的功能

1.sshd服务的用途

#作用:
#可以实现通过网络在远程主机中开启安全shell的操作
Secure SHell ——>ssh ##客户端
Secure SHell daemon ——>sshd ##服务端

2.安装包

openssh-server

3.主配置文件

/etc/ssh/sshd_conf

4.默认端口

22

5.客户端命令

ssh

6.实验环境

nodea是服务器,nodeb是客户端

请添加图片描述
请添加图片描述
清空,保持干净的环境,实验效果明显
请添加图片描述
请添加图片描述

二.ssh

1.基本用法

ssh [-l 远程主机用户] <ip|hostname>
例如:
ssh -l root 172.25.254.105 ##通过ssh命令在105主机中以root身份开启远程shell

##身份证明生成过程确认

2.作用

当输入后,233主机会向当前主机发送身份公钥,并保存此公钥到~/.ssh/know_hosts,233主机持有私钥,当客户主机再次连接时会对客户主机进行身份验证
请添加图片描述

如果删除服务器已生成的密钥文件,重启sshd服务,服务器会生成新的密钥文件,此时身份验证改变,在客户端再次登陆时服务器会拒绝连接,效果如下:
请添加图片描述
请添加图片描述
请添加图片描述

3.当连接因为认证问题被拒绝时解决方案

vim ~/.ssh/know_hosts ##在此文件中删除报错提示相应的行即可
请添加图片描述

4.ssh 常用参数

l #指定登陆用户
-i #指定私钥
-X #开启图形
-f #后台运行
请添加图片描述
请添加图片描述
-Xl,不能进行其他操作,-Xfl 可以
请添加图片描述
-o #指定连接参数
例如:
ssh -l root@172.25.254.x -o "StrictHostKeyChecking=no" 首次连接不需要输入yes
请添加图片描述

-t#指定连接跳板
例如:
ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.105
请添加图片描述

三.sshd key认证

1.认证类型

1.对称加密
加密和解密是同一串字符
容易泄漏
可暴力破解
容易遗忘
2.非对称加密
加密用公钥,解密用私钥
不会被盗用
攻击者无法通过无密钥方式登陆服务器

2.生成非对称加密密钥

1.方法1
$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ##输入保存密钥文件
Enter passphrase (empty for no passphrase): ##密钥密码
Enter same passphrase again: ##确认密码
Your identification has been saved in /root/.ssh/id_rsa. ##私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥
The key fingerprint is:
SHA256:OZVOK9g6NyZsaUIfbZMrfAGB31GQsJ3FyviO4/psVSg root@localhost.localdomain
The key's randomart image is:
+---[RSA 3072]----+
| .o..=o |
| . +oo.. |
| .o+o++ |
| E==*.. |
| . ooS.o |
| . + =o* |
| . %+* |
| =+B.. |
| .=+. |
+----[SHA256]-----+

请添加图片描述
2.方法二
$ssh-keygen -f /root/.ssh/id_rsa -P ""

请添加图片描述

3.对服务器加密#

ssh-copy-id -i /root/.ssh/id_rsa.pub username@serverip
ssh-copy-id -i /root/.ssh/id_rsa.pub lee@172.25.254.105
请添加图片描述
请添加图片描述
#测试#
ssh lee@172.25.254.105 ##登陆lee用户不需要输入密码
请添加图片描述
a把密钥给了b请添加图片描述

四.sshd 安全优化参数详解

setenforce 0 ##设定系统中的Selinux为警告模式
systemctl disable --now firewalld
请添加图片描述

请添加图片描述
1.Port 2222 #设定端口为2222
请添加图片描述

2.PermitRootLogin yes|no #对超级用户登陆是否禁止
请添加图片描述
A设置之后,B中的超级用户不能登陆,普通用户可以登录

3.PasswordAuthentication yes|no #是否开启原始密码认证方式
请添加图片描述

4.AllowUsers lee #用户白名单

5.DenyUsers lee #用户黑名

举报

相关推荐

0 条评论