SSH远程访问及控制

SSH远程访问及控制因为服务器的密码可以通过暴力激活成功教程的方式进行激活成功教程 所有产生了更加安全的密钥对 必须提供匹配的密钥信息才能通过密钥验证

大家好,欢迎来到IT知识分享网。

一、SSH服务

1.1 SSH

  • SSH(Secure Shell)是一种安全通道协议,主要用于实现字符界面的远程登录、远程复制、类似于ftp功能。以上三个默认端口都是22,可修改
  • SSH协议对通信双方的数据传输进行了加密处理,包括用户登录的口令输入
  • SSH的数据传输基于TCP协议,对数据传输加密、压缩,从而提高传输速率 

ssh客户端—————ssh服务端(22) 

1.2 SSH协议

  • 客户端:xshell  moba
  • 服务端:OpenSSH是SSH协议的开源热案件,适用于各种UNIX、Linux操作系统。

注:Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

服务名称:sshd 服务端主程序:/usr/sbin/sshd 服务端配置文件:/etc/sshd_config 客户端配置文件:/etc/ssh_config

1.3 SSH组成结构

  • 远程连接
  • 远程登录
  • 安全文件传输协议
  1. 传输层协议:提供加密技术,密码主机认证。只做主机认证,不执行用户认证
  2. 用户认证协议:运行在传输层之上,开始认证用户之后,从底层的会话标识接收会话的标识符,认证会话标识符的所有权。建立私钥,进行安全通信,只认证用户,不负责处理连接。
  3. 连接协议:处理最终的连接请求,运行在用户认证协议之上,提供了交互登录界面,远程命令,数据转发。

1.4 远程登录

虚拟机以命令行的方式远程登录(登录后,操作对本机无影响,exit退出!用完后立即退出!

1.4.1 默认端口号

[root@localhost ~]# ssh root@192.168.247.21 默认端口号22 root不是本机用户,是21的用户 @固定格式 192.168.247.21要登录的服务器的IP地址

1.4.2 指定端口号

[root@localhost ~]# ssh -p 1122 root@192.168.247.22 -p:指定端口

更改端口号:

  • 进入服务端配置文件

SSH远程访问及控制

  • 重启服务,服务报错!!!

SSH远程访问及控制

  •  查看运行日志,发现SELinux安全机制未关!!!然后关闭安全机制!!!

SSH远程访问及控制SSH远程访问及控制

  •  通过另一台主机登录

SSH远程访问及控制

 1.4.3 远程登录的访问控制

AllowUsers 允许登录的用户,相当于白名单,允许指定,拒绝所有 DenyUsers 禁止登录的用户,相当于黑名单,拒绝指定,允许所有 例:AllowUsers aa bb@192.168.233.20 允许aa用户登录 用户bb只能通过192.168.233.20IP登录 多个用户用空格隔开

注:不能将同一个用户,既允许也拒绝

  • 对服务端配置文件/etc/ssh/sshd_config进行配置

SSH远程访问及控制

  • 验证: 

 1.5 远程复制

scp远程复制:从别的主机将文件或者目录,复制到主机

#默认端口 [root@localhost /]# scp root@192.168.247.22:/opt/1.txt /opt/rh scp 远程复制命令 192.168.247.22 要登录的IP地址 /opt/1.txt 复制的文件位置 /opt/rh 粘贴的文件位置 #已更改端口 [root@localhost /]# scp -P 1122 root@192.168.247.22:/opt/1.txt /opt/rh -P 指定端口 -r 复制目录

1.6 安全文件传输协议(sftp)

sftp:使用了基于ssh协议(端口号22)的加密解密技术,所有传输效率比传统的ftp要慢,但是安全性更高,操作语法与ftp一样

#默认端口 [root@localhost /]# sftp root@192.168.247.20 #指定端口 [root@localhost /]# sftp -P 1122 root@192.168.247.20 
  • 先在test1/opt/下创建120.txt文件;在test2/opt/下创建130.txt文件

SSH远程访问及控制SSH远程访问及控制

  • 在test1中使用sftp连接test2,将test2/opt/下130.txt下载到test1的/opt/目录下

SSH远程访问及控制

  • 将test1/opt/下130.txt上传到test2/opt/ky30目录下

SSH远程访问及控制

  • 切换到test2/opt/ky30查看

SSH远程访问及控制

二、密钥对验证

前言:因为服务器的密码可以通过暴力激活成功教程的方式进行激活成功教程,所有产生了更加安全的密钥对,必须提供匹配的密钥信息才能通过密钥验证

2.1 工作方式

  1. 在客户端创建一个密钥文件
  2. 密钥文件传送到服务短的指定位置
  3. 远程登陆时,系统将使用密钥进行验证,实现免交互登录。增强了一定比的安全性

注:密码和密钥对都开启,服务器会优先使用密钥对验证

2.2 加密方式

  • ecdsa (主流)
  • rsa
  • dsa

2.3 实验

[root@localhost ~]# ssh-keygen -t ecdsa keygen 设置密钥 -t ecdsa 指定加密方式 [root@localhost ~]# cd .ssh/ [root@localhost .ssh]# ls id_ecdsa id_ecdsa.pub known_hosts id_ecdsa 私钥文件 id_ecdsa.pub 公钥文件

1.先在客户端生成密钥文

SSH远程访问及控制

 2.进入存放路径,将公钥文件传入服务端

SSH远程访问及控制

  •  ssh-copy-id :把本地主机的公钥复制到远程主机的 authorized_keys 文件中

3. 实现免交互登录

SSH远程访问及控制

  • ssh-agent bash :用于启动一个新的 Bash shell,并在该 shell 中启动 SSH Agent。SSH Agent 是一个身份验证代理,用于管理和缓存 SSH 密钥,可以在需要时自动提供身份验证,从而实现免密码登录等功能
  • ssh-add :将 SSH 私钥添加到 SSH Agent 的命令。SSH Agent身份验证代理,管理和缓存SSH密钥

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118902.html

(0)
上一篇 2025-11-09 16:10
下一篇 2025-11-09 16:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信