【远程访问及控制】

编程入门 行业动态 更新时间:2024-10-24 02:25:45

【<a href=https://www.elefans.com/category/jswz/34/1752193.html style=远程访问及控制】"/>

【远程访问及控制】

目录

  • 一、OpenSSH服务器
    • 1.1、SSH远程管理
    • 1.2、ssh服务器的端口
    • 1.3、修改端口号
    • 1.4、设置用户登录
  • 二、实验
    • 2.1、设置白名单
    • 2.2、设置黑名单
  • 三、sshd 服务支持两种验证方式:
    • 3.1、密码验证
    • 3.2、密钥对验证
      • 公钥和私钥的关系:
  • 四、使用SSH客户端程序
    • 4.1、ssh 远程登录
    • 4.2、scp 远程复制
      • 1、下行复制
      • 2、上行复制
      • 3、使用双撇号和pwd命令来快速获取目录进行复制
    • 4.3、sftp安全 的FTP文件传输
  • 五、配置密钥对验证
    • 5.1、在客户端创建密钥对
    • 5.2、实验zhangsan用户用密钥对登录
    • 5.4、另一种快速实现公钥文件的复制
  • 六、ssh密钥对面交互登录
    • 6.1、使用没有密码的密钥对
    • 6.2、创建ssh会话代理(只能在当前会话中有效)


一、OpenSSH服务器

1.1、SSH远程管理

SSH:
是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。

SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性.
字号4

                         网络
SSH客户端 <----------------------------------> SSH服务端数据传输是加密的,可以防止信息泄漏数据传输是压缩的,可以提高传输速度

SSH客户端: Putty、Xshel1、 CRT
SSH服条端: OpenSSH

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

rpm -q openssh
查看这个软件有没有安装

systemctl status sshd
可以查看开机有没有自动启动

systemctl is-enabled sshd
简介查看有没有开机自动启动,出现enable就是开机自启了

如果没有出现enable就
执行“svstemctl start sshd”命令即可启动 sshd 服务

1.2、ssh服务器的端口

sshd 服务默认使用的是TCP的 22端口
sshd  服务的默认配置文件是/etc/ssh/sshd confia

vim sshd_config
进入服务端的配置文件

禁止无密码用户登录
禁止用户反向解析,提高服务器的响应速度

1.3、修改端口号

netstat -natp | grep sshd 
来查看当前端口号,发现已经改为2345端口号了,但是源端口号没有终端


关闭xshell就发现连接不起来了


点击主机的属性,将端口号设置为刚刚修改的2345端口号

netstat -natp | grep sshd

查看到这个端口号已经设置为2345端口

ssh root@192.168.102.10 -p 2345
root 是指定用户
@192.168.102.10 是指定对方主机的IP地址
-p 是指定对应主机的端口号

也可以在源主机上查看到有一个192.168.102.20的主机连接到这

vim /etc/ssh/sshd_config

systemctl restart sshd
设置完后重启网卡
netstat -natp | grep sshd
就可以看到已经设置本地的地址了,192.168.102.10:2345

vim /etc/ssh/sshd_config

设置完后root用户就不能打开了

则除了root用户其他用户能登录

ssh 192.168.102.10 -p 2345
没有输入用户,按下enter后就会自动补全当前用户

设置把空密码用户不允许登录

设置一个空密码用户
设置完不允许空密码登录后,这个空密码的用户就登录不了了

设置空密码用户允许登录

设置完成后,可以看见空密码用户可以登录

1.4、设置用户登录

只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户仅能够从IP地址为192.168.102.10的主机远程登录
AllowUsers zhangsan lisi wangwu@102.168.102.10
多个用户以空格分隔

禁止某些用户登录,用法于AllowUsers 类似 (注意不要同时使用)

DenyUsers 用户名

二、实验

先设置几个实验用户,配置密码

2.1、设置白名单

在源主机里设置了让wangwu用户只能登录在192.168.102.10配置的主机

所以wangwu用户就登录不了其他的主机

则其他用户就可以随意登录不同的主机

在192.168.102.10的主机里设置wangwu这个用户就可以登录

在任意主机上登录wolong用户,不能登录
因为在白名单里没有设置wolong

root用户也不在白名单里面所以也登录不了
在白名单里在设置一个root用户

白名单设置完后,root用户就可以登录了

2.2、设置黑名单

DenyUsers  目标用户


设置完后在黑名单里的用户就登录不了了

为什么wangwu能登录
因为在黑名单里设置的是在192.168.102.10的主机里不能登录,其他的主机可以登录

三、sshd 服务支持两种验证方式:

3.1、密码验证

对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解

查看secure文件,查看主机有没有被攻击
看见被攻击了,就把那些登录的IP地址给放进黑名单里

3.2、密钥对验证

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

公钥和私钥的关系:

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

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式


vim /etc/ssh/sshd config
PasswordAuthentication yes
#启用密码验证PubkeyAuthentication yes
#启用密钥对验证AuthorizedKeysFile .ssh/authorized keys
#指定公钥库文件

在里面找到公钥文件

四、使用SSH客户端程序

4.1、ssh 远程登录

ssh [选项]  用户@主机的IP地址
ssh 使用小p来指定端口号

当用户第一次登录SSH服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入"yes")后才能继续验证。

在.ssh目录里的known_hosts文件存放验证信息,如果与这个文件里的信息不一致就禁止访问,一致就同意访问
ssh命令可以使一台主机快速执行一个命令,并且执行完后就退出

ssh命令也可以实现远程主机删除本机的文件


4.2、scp 远程复制

1、下行复制

将远程主机中的文件复制到本机

scp root@192.168.102.20:/opt/john-1.8.0.tar.gz ./192.168.102.20   表示对方主机的IP地址:/opt/表示对方的目录,后面跟上要复制的目录文件绝对路径在最后面加上 . / 表示将对方主机的opt目录里的文件复制到当前主机目录里

2、上行复制

将本机的目录复制到远程主机上

scp -P 2345 -r dznb/ 192.168.102.10:/root/- 大P 指定对方的端口号- r 将本机的目录复制到远程主机dznb/  本机的目录192.168.102.10   远程主机的IP地址:/root/   指定复制到远程主机的 root 目录里,绝对路径


如果有同名目录的话,复制的内容会直接覆盖

3、使用双撇号和pwd命令来快速获取目录进行复制


直接按下波浪号键,不加shift键

4.3、sftp安全 的FTP文件传输

由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样

sftp -P 2345 root@192.168.102.10
在sftp命令里,要使用大P来指定对方主机的端口号
root 对方的root用户

也可以使用put命令来使远程主机上传文件到本机

sftp > get 文件名     下载文件到ftp目录
sftp > put 文件名     上传文件到ftp目录
sftp > quit          退出

五、配置密钥对验证

5.1、在客户端创建密钥对

通过ssh-keygen工具为当前用户建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的"-t"选项用于指定算法类型)


将公钥文件复制到192.168.102.10主机上

在目标主机上查看到公钥文件,使用cat查看公钥文件的密钥信息

5.2、实验zhangsan用户用密钥对登录

你想要哪个客户端使用哪个用户登录,就把公钥文件导入到该文件的家目录里
现在使用zhangsan用户密钥登录

创建的文件名必须是authorized_keys

在当前用户的家目录里设置一个.shh的目录并且修改权限为7.0.0

cat id_rsa.pub >> /home/zhangsan/.ssh/authorized_keys重定向输出到自己的家目录里的zhangsan用户到.ssh目录里创建一个authorized_keys文件


把文件的使用权限设定为6.0.0的使用权限

5.4、另一种快速实现公钥文件的复制

ssh-copy-id -p 2345 -i id_rsa.pub zhangsan@192.168.102.10
-i id_rsa.pub 指定公钥文件
-p 指定端口号


自动设置目录和文件的权限

接下来就可以使用密钥对的密码登录了

六、ssh密钥对面交互登录

6.1、使用没有密码的密钥对

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

6.2、创建ssh会话代理(只能在当前会话中有效)

ssh-agent bash  在当前登录环境中实现一个代理
ssh-add         输入这个密钥对的密码

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

更多推荐

【远程访问及控制】

本文发布于:2023-06-28 16:46:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/930535.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:远程访问

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!