Linux系统入门之远程连接sshd服务

1.sshd简介

     SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。

     想要使用SSH协议来远程管理LInux系统,则需要部署sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种验证的方法:

    基于口令的验证----用账户和密码进行验证登录

    基于密钥的验证----需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较,该方式相对更安全。

sshd=secure shell
可以通过网络在主机中开机shell的服务

客户端软件<C-F9>
   sshd
连接方式:
    ssh    username@ip  ##文本模式的链接
    ssh -X username@ip  ##可以在链接成功后开机图形

    注意:
        第一次链接陌生主机时要建立认证文件
        所以会询问是否建立,需要输入yes
        再次链接此台主机时,因为已经生成~/.ssh/know_hosts 文件所以不需要再次输入yes
 
远程复制:
    scp file root@ip:dir   ##上传
    scp root@ip:file dir   ##下载

实验:Linux下真机与虚拟机的连接

(1).为方便后续实验先修改主机名 命令为:hostnamectl set-hostname client

修改完成后打开新的shell窗口发现hostname已完成修改。

desktop虚拟机-->clienet

server虚拟机-->server

(2).查看真机ip 命令:ifconfig br0  真机ip为172.25.60.250

(3).设置虚拟机的IP,在虚拟机shell中输入命令:nm-connection-editor

删除拥有的System eth0 重新Add网络,跳出窗口检查默认项为Ethernet后,点击Create创建

设置名称为client 选择网关为eth0

在IPv4 Settings选项中

选择Manual

设置address为172.25.60.100(与真机172.25.60.250在同一网段)

Network输入24

Gateway为0  --> save保存

(4)重启网络 命令:systemctl restart network

并查看ip 命令:ifconfig eth0

ping 命令检查是否连接成功

(5)命令:ssh root@172.25.60.100 登陆desktop虚拟机

在Desktop虚拟机桌面建立sshfile文件

检查文件成功建立 说明真机成功登陆虚拟机,

命令:exit退出登陆 回到真机命令界面

  在desktop虚拟机桌面上检查到sshfile文件,说明真机成功登陆虚拟机

(6)在desktop虚拟机中同样可以连接真机,下面进行上传/下载的实验远程复制:
    scp file root@ip:dir   ##上传
    scp root@ip:file dir   ##下载

实验步骤:

a.在desktop虚拟机中直接用命令:scp /root/Desktop/sshfile root@172.25.60.250:/home/kiosk/Desktop

将虚拟机桌面上的sshfile文件 上传到真机桌面

b.查看真机说明,sshfile文件上传成功

并在真机桌面上建立kioskfile文件

c.在desktop虚拟机中直接用命令:scp root@172.25.60.250:/home/kiosk/Desktop/kioskfile root/Desktop/

将真机桌面上的kioskfile文件 上传到desktop虚拟机桌面,下图为desktop虚拟机中显示kioskfile文件 下载成功。

2.sshd的key认证

0.开启server虚拟机,修改主机名,配置网络ip为172.25.60.200 步骤与实验1相同,不再赘述

检查两台虚拟机是否可以互相ping通,ssh密码登录

 

注意:

        第一次链接陌生主机时要建立认证文件, 所以会询问是否建立,需要输入yes
        再次链接此台主机时,因为已经生成~/.ssh/know_hosts 文件所以不需要再次输入yes
 

1.生成“密钥对”
ssh-keygen

在生成密钥对的时候,根据提示需要输入三次,
第一次
Enter file in which to save the key (/root/.ssh/id_rsa):按回车键或设置密钥的存储路径

第二次
Enter passphrase (empty for no passphrase):直接按回车或设置密钥的密码

第三次
Enter same passphrase again:再次按回车或确认密钥的密码
注:也可以在生成时命令直接指定文件夹和密码:
ssh-keygen -f /root/.ssh/id_rsa -P “”

2.加密服务
命令:ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.60.200   ##加密sshd服务  

 

authorized——keys标志着加密的完成,厘米啊你存储的字符串和id_rsa.pub的一样

3.分发钥匙
命令:scp /root/.ssh/id_rsa root@172.25.60.100:/root/.ssh/

发送钥匙给允许连接的用户主机

 

4.测试
在客户主机中(172.25.60.100)

查看/root/.ssh/目录下出现id_rsa文件
命令:ssh root@172.25.60.200 ###连接时直接登陆root用户不需要密码认证

3.sshd的安全设定
 

78 PasswordAuthentication yes|no   ##是否允许用户通过登陆系统的密码做sshd的认证

48 PermitRootLogin yes|no             ##是否允许root用户通过sshd服务认证

52 AllowUSers root student             ##设置用户白名单

53 DenyUsers  king westos            ##设置用户黑名单

实验:

(1)PasswordAuthentication yes|no 是否允许用户通过密码认证sshd服务

修改/etc/ssh/sshd_config文件中的第78行 yes -> no

        注意:重启sshd服务 systemctl restart sshd.service

效果:修改权限为no之后,不允许用户通过密码认证sshd服务

测试完成恢复原配置no->yes

(2).PermitRootLogin 是否允许root用户通过sshd服务的认证

修改/etc/ssh/sshd_config文件中的第48行 去掉注释符#再将yes -> no

效果:真机root用户连接虚拟机root用户,输入三次正确密码也无法认证sshd服务

测试完成恢复原配置no->yes 添加注释符#

(3)用户黑白名单

设置用户白名单,只有白名单中的用户可以通过sshd认证,其他用户不可通过

设置用户黑名单,只有黑名单中的用户不可以通过sshd认证,其他用户可通过

a.白名单实验:设置root westos为白名单用户 这两个可以通过sshd认证,不在白名单中的king用户输入正确密码也无法通过sshd认证

b.黑名单实验:设置king westos为黑名单用户 这两个不可以通过sshd认证,不在黑名单中的root用户可以通过sshd认证

测试完成恢复原配置给黑白名单行添加注释符#

4.添加sshd登录信息

命令:vim  /etc/motd   ###文件内容是登录时显示的信息

实验:

5.用户的登录查看

1.w命令

w查看正在使用当前系统的用户
w -f查看使用来源
w -i

显示IP

2.last命令: 查看使用过并退出的用户信息

lastb命令:查看登录但未成功的用户信息

实验:用真机连接虚拟机,虚拟机查看访问后利用进程号将访问进程杀死

效果:正在访问虚拟机的真机连接关闭

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值