当前位置:   article > 正文

SSH远程访问及控制_ssh 指定端口

ssh 指定端口

一、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 服务添加为开机自启动。

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

1.3 SSH组成结构

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

1.4 远程登录

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

1.4.1 默认端口号

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

1.4.2 指定端口号

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

更改端口号:

  • 进入服务端配置文件

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

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

  •  通过另一台主机登录

 1.4.3 远程登录的访问控制

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

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

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

  • 验证: 

 1.5 远程复制

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

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

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

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

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

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

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

  • 切换到test2/opt/ky30查看

二、密钥对验证

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

2.1 工作方式

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

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

2.2 加密方式

  • ecdsa (主流)
  • rsa
  • dsa

2.3 实验

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

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

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

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

3. 实现免交互登录

  • ssh-agent bash :用于启动一个新的 Bash shell,并在该 shell 中启动 SSH Agent。SSH Agent 是一个身份验证代理,用于管理和缓存 SSH 密钥,可以在需要时自动提供身份验证,从而实现免密码登录等功能
  • ssh-add :将 SSH 私钥添加到 SSH Agent 的命令。SSH Agent身份验证代理,管理和缓存SSH密钥
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/167388?site
推荐阅读
相关标签
  

闽ICP备14008679号