栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

第二本书第二章Linux中的远程登录服务

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第二本书第二章Linux中的远程登录服务

一.Openssh的功能

1.sshd服务的用途
 作用:可以实现通过网络在远程主机中开启安全shell的操作
 Secure SHell    --->ssh  #客户端(c:做测试)
 Secure SHell daemon   --->sshd  #服务端(s:做配置)
2.安装包: openssh-server
3.主配置文件: /etc/ssh/sshd_conf
4.默认端口: 22
5.客户端命令: ssh

 

二.ssh

1.基本用法:
ssh [-l 远程主机用户]
ssh -l root 172.25.254.200     ##通过ssh命令在200主机中以root身份开启远程shell

[westos@westos_student70 Desktop]$ ssh -l root 172.25.254.200
The authenticity of host '172.25.254.200 (172.25.254.200)' can't be established.
ECDSA key fingerprint is SHA256:j1eksGwobdp+MVYQXJB+MoyMeCMt6FIYzp5egJFXyws.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes  ##身份证明生成过程确认
#作用# :当收入
               200主机会向当前主机发送身份公钥,并保存此公钥到~/.ssh/know_hosts
               200主机持有私钥当客户主机再次连接时会对客户主机进行身份验证

##hostnamectl set-hostname  westoshost200.westos.org  #修改主机名字##

##################实验:客户端连接服务端###################
需要两台虚拟机nodea(170)、nodeb(200)
s:服务端(作配置)(nodea)
c:客户端(做测试)(nodeb)
实验让客户端连上服务端(要让nodeb连接上nodea) 

nodeb # ssh -l  root 172.25.254.117            #连接
           # ls -ld /root/.ssh                      #查看
nodea # cd /etc/ssh/                           #进出ssh目录
          # ls                                     #查看
         # cat ssh_host_ecdsa_key.pub             #查看密钥
nodeb # cat /root/.ssh/known_hosts             #查看密钥(客户端和服务端的密钥相同就可以连接成功)
nodea # rm -rf ssh_host_*                      #删掉刚才连接的密钥
          # ls                                     #查看
          # systemctl restart sshd                 #重新启动sshd服务
          # ls                                     #查看
          # cat ssh_host_ecdsa_key.pub             #查看新的密钥
nodeb # ssh -l  root 172.25.254.117            #再次连接会报错(因为服务端删掉了刚才相同的密钥,产生新的密钥)
        # vim /root/.ssh/known_hosts             #删掉vim里之前的旧密钥(根据刚才的报错删)
        # ssh -l  root 172.25.254.117            #重新连接
        # cat /root/.ssh/known_hosts             #查看密钥(和服务端的新密钥相同)

 

 

 #当连接因为认证问题被拒绝时解决方案#
vim ~/.ssh/know_hosts     ##在此文件中删除报错提示相应的行即可

#ssh 常用参数#

ssh -l  #指定登陆用户
ssh -i  #指定私钥
ssh -X  #开启图形
ssh -f  #后台运行
ssh -o  #指定连接参数
        # ssh -l root@172.25.254.200 -o "StrictHostKeyChecking=no" -->首次连接不需要输入yes
ssh -t  #指定连接跳板
        # ssh -l root 172.25.254.200 -t ssh -l root 172.25.254.170

 

 

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


2.生成非对称加密密钥

#方法1 :

nodea: 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.  ##公钥
    
        ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.254.170    #对服务器加密
        cd /root/.ssh/
        ls
          【authorized_keys  id_rsa  id_rsa.pub  known_hosts】
        scp /root/.ssh/id_rsa root@172.25.254.200:/root/.ssh/  #把170主机的私钥给200主机传过去

  nodeb: 
     测试:nodeb在登陆nodea的时候不需要密码
     ssh -l root 172.25.254.170  #nodeb直接登陆nodea不需要密码

 #方法2:(实验前要把方法一中产生的私钥删掉,保证实验的准确)

nodea: rm -rf /root/.ssh/*
      ssh-keygen -f /root/.ssh/id_rsa -P ""
      ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.254.170
      scp /root/.ssh/id_rsa root@172.25.254.200:/root/.ssh/

 

 

 

 测试:nodeb在登陆nodea的时候不需要密码

 

四.sshd 安全优化参数详解
 实验前准备:
 setenforce 0
 systemctl disable --now firewalld #开机时不启动防火墙,并且当前不启动防火墙服务 

1.PasswordAuthentication   yes|no    #是否开启原始密码认证方式
  #rpm -qc openssh-server   #查询配置文件    
   vim /etc/ssh/sshd_config   #修改配置文件
      73行:PasswordAuthentication  no   #改为no,不开启原始密码认证方式
   systemctl restart sshd  #修改之后一定要重启sshd服务


 测试:在真机(70)中登陆170主机,不需要密码;nodeb(200)在上个实验中有密钥,可以直接登陆,实验效果清楚还是要在真机中登陆


2.PermitRootLogin yes|no   #对超级用户登陆是否禁止
   vim /etc/ssh/sshd_config
      46行改为no
   systemctl restart sshd  #修改之后一定要重启sshd服


3.设定端口
   vim /etc/ssh/sshd_config
      17行端口号改为:2222 #一定要把密码认证改yes
   systemctl restart sshd 


4.用户黑白名单
   vim /etc/ssh/sshd_config
      21行左右添加
  systemctl restart sshd 

 

 ###实验完成后把刚才修改的数据恢复###

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号