Linux中的远程登录服务

Linux中的远程登录服务

1 Openssh的功能

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

(2)安装包
openssh-server

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

(4)默认端口
22

2 ssh

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

步骤
[1] 切换到cd ~/.ssh/目录下
[2]

[westos@westos_student1 .ssh]$ ssh -l root 172.25.254.101

[3] 输入yes/no/[fingerprint],选择是否进行远程登录
##身份证明生成过程确认
作用
当收到yes后,101主机会向当前主机发送身份公钥,并保存此公钥到~/.ssh/know_host
101主机持有私钥,当客户主机再次连接时会对客户主机进行身分验证,公钥和私钥一致的情况下,可以进行远程登录服务,不一致则会报错
主机上的公钥客机上的私钥

远程登录基本用法
如果身份验证改变拒绝连接则会出现以下报错

登录报错*当连接因为认证问题被拒绝时解决方案:
vim ~/.ssh/known_hosts
删除报错的行即可

(2)ssh常用参数
-l
#指定登录用户
-i
#指定私钥
-X
#开启图形

输入命令,远程打开172.25.254.101主机上的gedit:
开启图形

-f
#后台运行
-o
#指定连接参数
#ssh -l [email protected] -o “StrictHostKeyChecking=no” 首次连接不需要输入yes
-t
#指定连接跳板
#ssh -l root 172.25.254.2 -t ssh -l root 172.25.254.101

ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.101 #跳板报错
su - root #切换到root用户查看报错的目录
vim /root/.ssh/known_hosts #查看报错的目录,并删除报错行
exit #退出root用户
ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.101 #再次进行跳板,则可以远程连接101主机

作用:此时在101主机上显示的远程连接的主机则为作为跳板的主机

3 sshd key认证

(1)认证类型
[1] 对称加密:加密和解密是同一串字符串
缺点是:容易泄漏;可暴力破解;容易遗忘

[2] 非对称加密:加密用公钥,解密用私钥
特点:不会被盗用;攻击者无法通过无密钥方式登录服务器

(2)生成非对称加密密钥
方法一:

[westos@westos_student1 Desktop]$ ssh-keygen
Enter file in which to save the key (/home/westos/.ssh/id_rsa): #输入保存密钥文件
Enter passphrase (empty for no passphrase): #密钥密码
Enter same passphrase again:

生成密钥:

生成密钥将密钥给101主机一份
若主机的/home/westos/.ssh/id rsa.pub文件中的内容和101客户机的/root/.ssh/authorized_keys中的内容相相同,则说明公钥私钥建立成功,之后进行远程登录验证:
主机上的密钥
虚拟机上的密钥
建立成功后可以直接远程登录服务,而不需要密码:
直接登录,不需要密码
方法二:
ssh-keygen -f /root/.ssh/id_rsa -P “”
与方法一操作类似,只是省去了输入密钥密码的步骤,一步就可以生成密钥

(3)对服务器加密
ssh-copy-id -i /root/.ssh/id_rsa.pub username@servervip

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

测试
ssh [email protected] #登录root用户不需要输入密码

4 sshd安全优化参数详解

setenforce 0
systemctl disable --now firewalld #首先需要关闭防火墙
如果没有关闭则打开 vim /etc/selinux/config
修改SELINUX=disabled:
接着reboot
关闭防火墙

关闭防火墙
打开安全优化参数需要用到的文件:
安全优化参数需要用到的文件

Port 2222
#设定端口为2222
编辑修改端口

PermitRootLogin yes|no
#对超级用户登录是否禁止
对超级用户进行管理

PasswordAuthentication yes|no
#是否开启原始密码认证方式
是否开启原始密码认证方式*通过更改文件中的yes和no来进行控制是否开启原始密码认证

AllowUsers westos
#用户白名单
用户白名单*设置用户白名单是lxy,就是除了lxy之外的所有用户都不能远程登录

DenyUsers westos
#用户黑名单
用户黑名单
*设置westos用户无法进行远程登录服务

猜你喜欢

转载自blog.csdn.net/lxyfeliciali/article/details/112838604