‘Linux’远程访问及控制

一.SSH服务

1.什么是SSH?
  • SSH (Secure Shel1) 是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
  • SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。
2.OpenSSH服务器
SSH (Secure Shell) 协议 是一种安全通道协议 对通信数据进行了加密处理,用于远程管理

在这里插入图片描述
SSH客户端: putty、xshell、CRT、MobaXterm、Finalshell
SSH服务器: Openssh

3.OpenSSH服务器配置文件

服务名称: sshd
服务端主程序: /usr/sbin/sshd·
服务端配置文件: /etc/ssh/sshd config

  • openSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。
  • centos 7 系统默认已安装openssh相关软件包,并将ssh服务添加为开机自启动。

执行“systemctl start sshd”命令即可启动sshd服务。默认端口使用的22端口。
ssh_confiog 和 sshd_config 都是ssh服务器的配置文件
二者区别在于前者是针对客户端的配置文件,后者是针对服务端的配置文件。
ssh服务端主要包括两个服务功能,ssh远程连接和sftp服务

二.ssh远程登录方式

ssh 【选项】 nanjing192.168.90.20

当用户第一次登求SSH服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入"yes")后才能继续验证。接收的信息将保存到~/.ssh/known_hosts 文件中。密码验证成功以后,即可登录目标服务器的命今行环境中了。
-P: 指定非默认的端口号,缺省时默认使用 22端口

ssh -p 12345 nanjing@192.168.80.10    //指定端口远程控制
示例:远程登录其他主机

(1):首先验证是否安装ssh

[root@whw ~]# rpm -q openssh
openssh-7.4p1-21.el7.x86_64

(2)验证是否开启sshd服务:

在这里插入图片描述
(3)查看ssd服务配置文件:

在这里插入图片描述
(4)sshd_config配置文件的常用选项设置:

  • vim /etc/ssh/sshd_config #进入配置sshd配置文件
常用选项配置
Port 22监听端口为 22
ListenAddress 0.0.0.0监听地址为任意网段,也可以指定openssH服务器的具体IP
LoginGraceTime 2m登录验证时间为 2 分钟
PermitRootLogin no禁止root 用户登求
MaxAuthTries 6最大重试次数为 6
PermitEmptyPasswords no禁止空密码用户登录
UseDNS no禁用 DNs 反向解析,以提高服务器的响应速度

(6).使用centos远程连接:
在这里插入图片描述

1.更改端口号:
vim sshd_config     
Port 2222         //端口号改为2222
systemctl stop firewalld
setenforce 0      //更改端口号一定要关闭防火墙
systemctl restart sshd   //重启配置文件
netstat -natp | grep sshd   //查看监听端口是否更改

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

2.更改监听地址
vim sshd_config 
ListenAddress 192.168.174.71     //更改为网卡地址
netstat -natp | grep sshd   //查看监听地址是否更改

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

3.限制root用户登录
vim sshd_config 
PermitRootLogin no      //限制root登录
ssh root@网卡地址 (端口号不是默认需要加-p)  //尝试登录

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

4.禁止空密码用户登录:
[root@whw ssh]# vim sshd_config
PermitEmptyPasswords  no    //禁止空密码用户登录
[root@whw ssh]# systemctl restart sshd
[root@whw ssh]# useradd wang
[root@whw ssh]# echo 123456 | passwd --stdin wang
更改用户 wang 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@whw ssh]# passwd -d wang
清除用户的密码 wang。
passwd: 操作成功

尝试wang用户空密码登录无法连接
在这里插入图片描述
尝试wang用户空密码登录成功连接

[root@whw ssh]# vim sshd_config
PermitEmptyPasswords  yes    //允许空密码用户登录
[root@whw ssh]# systemctl restart sshd

在这里插入图片描述

5.设置白名单
[root@whw pam.d]# vim /etc/ssh/sshd_config
AllowUsers zhangsan lisi  wangwu@192.168.174.71     //设置白名单
[root@whw pam.d]# systemctl restart sshd
[root@whw pam.d]# useradd zhangsan
[root@whw pam.d]# echo 123456 | passwd --stdin zhangsan
更改用户 zhangsan 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@whw pam.d]# useradd lisi
[root@whw pam.d]# echo 123456 | passwd --stdin lisi
更改用户 lisi 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@whw pam.d]# useradd wangwu
[root@whw pam.d]# echo 123456 | passwd --stdin wangwu
更改用户 wangwu 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@whw pam.d]# vim /etc/ssh/sshd_config

尝试用当前地址主机远程连接
在这里插入图片描述
尝试用不同网卡地址主机远程连接
在这里插入图片描述

因为在ssh配置中设置了wangwu用户只局限在192.168.174.71地址登录;所以别的用户无法登录在这里插入图片描述

6.设置黑名单
[root@whw pam.d]# vim /etc/ssh/sshd_config
DenyUsers lisi wangwu@192.168.174.71
[root@whw pam.d]# systemctl restart sshd

尝试远程连接登录
在这里插入图片描述

三.sshd服务验证方式

ssd服务分为密码验证密钥验证

  • 密码验证
    对服务器中本地系统用户的登录名称,密码进行验证。简便,但是可能会被暴力破解
  • 密钥对验证
    要求提供相匹配的密钥信息才能通过验证,通常先在客户端中创建一对密钥文件(公钥,私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥,私钥进行加密/解密关联验证。能增强安全性,且可以免交换登录。

公钥和私钥的关系:

  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。
  • 不能根据一个密钥来推算出另一个密钥。
  • 公钥对外公开,私钥只有私钥的持有人才知道

配置密钥对验证:

  • 通过ssh-keygen工具为当前用户建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的"-t"选项用于指定算法类型)
    在这里插入图片描述
  • 将公钥文件复制到192.168.102.10主机上
[root@whw ~/.ssh]# scp -P 2345 id rsa.pub root@192.168.136.71:/opt
root@192.168.136.71's password:
id_rsa,pub                         100%  392  717.9KB/s  00:00             
[root@whw ~/.ssh]
  • 在目标主机上查看到公钥文件,使用cat查看公钥文件的密钥信息
    在这里插入图片描述

四.ssh密钥对面交互登录

  • 使用没有密码的密钥对
ssh-keygen -t rsa/ecdsa   //一路回车,不设置密码
ssh-copy-id -i 公钥文件    //目标主机用户@目标主机IP/主机名

  • 创建ssh会话代理(只能在当前会话中有效)
ssh-agent bash  在当前登录环境中实现一个代理
ssh-add         输入这个密钥对的密码

输入以上命令后就可以实现免密码登录,只能在当前会话中有效退出当前会话就会消失这个代理

[rootedz888 ~/.ssh]# ssh-agent bash
[rootedz888 ~/.ssh]# ssh-add
Enter passphrase for /root/.ssh/id rsa:Identity added: /root/.ssh/id rsa (/root/.ssh/id rsa)
[rootedz888 ~/.ssh]# ssh zhangsan@192.168.102.10 -p 2345
Last login: Sat Apr 22 18:38:42 2023 from 192.168.102.20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanghwei 17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值