Linux操作系统基础 2.2 -- 远程登录服务

目录

linux远程登录服务

1、Openssh服务的基本信息

 2、sshd key认证

1)、实验: 两台虚拟机间设置非对称加密

2)、 实验: 身份验证改变测试

3)、 实验:端口改变测试

......


linux远程登录服务

1、Openssh服务的基本信息

对服务器进行管理时,需要通过网络登录远程主机开启shell来进行操作,远程主机必须提供这样开启shell的方式,以上需几乎不可能求由enssh服务来提供。

客户端 :Secure SHell (ssh)

服务端 :Secure SHell daemon (sshd)

ssh [-l 远程主机用户]
ssh -l root 172.25.254.120   #通过ssh命令在120主机中以root身份开启一个远程shell

询问(yes/no/[fingerprint])?   身份证明生成 ,当输入yes后,120号主机会向当前主机发送身份公钥并保存至  ~/.ssh/know_hosts 目录中,若此身份验证发生改变 则下次连接会被拒绝
解决方案:
vim ~/.ssh/know_hosts 在此文件中删除报错相应的行即可

:set nu 显示行  d 删除行

ssh 常用参数:

-l        #指定登陆用户     
-i        #指定私钥
-X      #开启图形
-f       #后台运行
-o      #指定连接参数
          #ssh -l root 172.25.254.120 -o "StrictHostKeyChecking=no"  首次连接不需要输入yes
-t       #指定连接跳板
         #ssh -l root 172.25.254.120 -t ssh -l root 172.25.254.220
         #当前用户先连接120号主机 再由120号连接220

 2、sshd key认证

对称加密:   加密解密是同一串字符 不安全
非对称加密: 公钥加密(锁)  私钥解密(钥匙) 可在任意位置创建 将创建的公钥赋予XX主机 另一主机用私钥连接XX主机 (无法通过无密钥的方式登录服务器)

非对称加密密钥生成:                      
[root@westosb .ssh]# 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:VFvnfu0oyLT5MHhsRAxg58p5rQ7I6ttL0RGTNpAekEk [email protected]
The key's randomart image is:
+---[RSA 3072]----+
| .E+.o=oo . . .  |
|  o o.+= + o o   |
|   . o..o +   .  |
|    .o = o   .  .|
|    . = S +   . o|
|   . o . B +   + |
|    + . o @ . . .|
|   +   o o + .   |
| .+.o.  .   .    |
+----[SHA256]-----+
生成的密钥文件存放在 ~/.ssh文件夹中

1)、实验: 两台虚拟机间设置非对称加密

ssh-keygen -f /root/.ssh/id_rsa -p ""                           -f 指定文件目录  -P 指定密钥密码为空
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]        -i 指定公钥id_rsa.pub  给120号主机
ssh -i /root/.ssh/id_rsa -l root 172.25.254.120                 -i 指定密钥id_rsa 去连接120号主机

 在只有一个密钥的主机连接 对应公钥主机时 默认使用密钥 无需指定,如不修改配置文件参数 此时仍可以使用对称加密方式连接该主机

Linux操作系统基础 2.2 -- 远程登录服务_第1张图片

 设置不能通过对称加密连接

2)、 实验: 身份验证改变测试

[root@westoslinux ssh]# rm *key* -rf               #在/etc/ssh目录下 删除所有带key文件。
[root@westoslinux ssh]# systemctl restart sshd     #重启sshd服务 远程主机生成新的公钥文件

[root@westosb]# ssh -l root 172.25.254.120         #再次使用原来密钥连接远程主机时会发生如下报错
----------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:j1eksGwobdp+MVYQXJB+MoyMeCMt6FIYzp5egJFXyws.
Please contact your system administrator.
Add correct host key in /home/westos/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/westos/.ssh/known_hosts:4
ECDSA host key for 172.25.254.120 has changed and you have requested strict checking.
Host key verification failed.
----------------
vim /home/westos/.ssh/known_hosts                 #根据提示打开对应文件 删除对应行  再次连接不报错

3)、 实验:端口改变测试

setenforce 0                          #selinux防火墙配置0表示关闭(使得可以更改端口)
systemctl disable --now firewalld     # 关闭防火墙

vim /etc/ssh/sshd_config              #进入配置文件
Port 22 -- 2021                       #更改端口为2021 密钥端ssh -l root 172.25.254.120 -p 2021  -p 指定端口         
PasswordAuthentication yes/no         #设置是否可以用对称加密密码 进行远程连接(passwd:westos)
AllowUsers  user1 user2 ...           #白名单:只能user1/2远程连接主机
DenyUsera  user1 user2 ...            #黑名单:user1/2不能远程连接  (黑白名单只生效一个)                    
systemctl restart sshd                #每次更改后 重启sshd

(SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。)

设置端口

Linux操作系统基础 2.2 -- 远程登录服务_第2张图片

......

你可能感兴趣的:(Linux操作系统基础二)