Linux中的远程登陆服务详解

Linux中的远程登陆服务

1、Openssh的功能

1)sshd服务的用途

作用:可以实现通过网络在远程主机中开启安全shell的操作

Secure SHell ===>ssh ##客户端
Secure SHell daemon ===>sshd ##服务端

2)安装包
openssh-server

3)主配置文件
/etc/ssh/sshd_conf

4)默认端口
22

5)客户端命令
ssh

补充:

在进行后续linux远程登录学习前,首先要对虚拟机的环境进行配置,这里需要两台虚拟机,一台westosa作为客户端,另一台westosb作为服务器。
1) 为了便于区分,在这里对两台虚拟机的主机域名进行修改,以westosa为例(注意修改后要关闭shell再打开才能看到变化):
在这里插入图片描述
在这里插入图片描述
2) 接着对两台虚拟机的网络进行设置
westosa客户端ip:172.25.254.133
westosb服务器ip:172.25.254.233

3) 最后为了后续操作直观明了,删除两台虚拟机中/root/.ssh中的文件
在这里插入图片描述
在这里插入图片描述

2、ssh

1)基本用法
ssh [-l 远程主机用户] <ip|hostname>
ssh -l root 172.25.254.233:通过ssh命令在233主机中以root身份开启远程shell

2)作用
当输入<yes>后,233主机会向当前主机发送身份公钥,并保存此公钥到~/.ssh/know_hosts,233主机持有私钥,当客户主机再次连接时会对客户主机进行身份验证
在这里插入图片描述
如果删除服务器已生成的密钥文件,重启sshd服务,服务器会生成新的密钥文件,此时身份验证改变,在客户端再次登陆时服务器会拒绝连接,效果如下:
在这里插入图片描述
在这里插入图片描述
当连接因为认证问题被拒绝时解决方案:
vim ~/.ssh/know_hosts :在此文件中删除报错提示相应的行即可
在这里插入图片描述
3)ssh常用参数

参数含义
-l指定登陆用户
-i指定私钥
-X开启图形
-f后台运行
-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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、sshd key认证

1)认证类型

a)对称加密
-加密和解密是同一串字符
-容易泄漏
-可暴力破解
-容易遗忘

b)非对称加密
-加密用公钥,解密用私钥
-不会被盗用
-攻击者无法通过无密钥方式登陆服务器

2)生成非对称加密密钥
a) 方法1:ssh-keygen
在这里插入图片描述
b)方法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
在这里插入图片描述
在这里插入图片描述
对服务器加密后,/root/.ssh和/home/westos/.ssh目录下都会得到认证密钥
在这里插入图片描述
加密完成后,此时在客户端仍然可以登录服务器端
在这里插入图片描述
这是因为服务器认证有两种方式,我们对非对称密钥认证方式做了设置,但客户端还可以通过原有的对称密钥认证方式进行认证。因此为了看到我们操作的效果,需要在服务器端修改sshd服务的配置文件,关闭原来的PasswordAuthentication(注意:每次对sshd服务的配置文件进行修改后,必须要重启sshd服务才能使修改生效)
在这里插入图片描述
在这里插入图片描述
此时客户端无法再登录服务器
在这里插入图片描述
我们可以将服务器端的私钥复制给客户端,使客户端能够再次登录服务器(可以利用这一功能实现登录服务器时不需要输入密码)
在这里插入图片描述
在这里插入图片描述
同时,我们可以通过以下操作实现对客户端登录服务器权限的动态管理:
在这里插入图片描述

4、sshd 安全优化参数详解

在进行sshd安全优化参数设置前,首先要执行这两条命令:
setenforce 0:关闭内核加强级防火墙
systemctl disable --now firewalld:关闭系统防火墙
在这里插入图片描述
1)Port 2222:设定端口为2222
在这里插入图片描述
在这里插入图片描述
客户端可以通过2222端口登录服务器
在这里插入图片描述
2)PermitRootLogin yes|no:对超级用户登陆是否禁止
在这里插入图片描述
在这里插入图片描述
3)PasswordAuthentication yes|no:是否开启原始密码认证方式
4)AllowUsers lee:用户白名单
在这里插入图片描述
5)DenyUsers lee:用户黑名单
在这里插入图片描述
在这里插入图片描述


版权声明:本文为weixin_44310047原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。