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

服务名称: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,运维

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

ssh 指定端口,ssh,运维

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

ssh 指定端口,ssh,运维ssh 指定端口,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 指定端口,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,运维ssh 指定端口,ssh,运维

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

ssh 指定端口,ssh,运维

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

ssh 指定端口,ssh,运维

  • 切换到test2/opt/ky30查看

ssh 指定端口,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 指定端口,ssh,运维

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

ssh 指定端口,ssh,运维

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

3. 实现免交互登录

ssh 指定端口,ssh,运维文章来源地址https://www.toymoban.com/news/detail-771996.html

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

到了这里,关于SSH远程访问及控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSH远程访问及控制

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

    2024年02月03日
    浏览(33)
  • SSH服务远程访问及控制

    目录 1、SSH服务 1.1、配置OpenSSH 1.2、SHH远程登录方式 2、服务配置与管理 安全调优 3、sshd 服务支持两种验证方式 3.1、公钥和私钥的关系 3.2、构建密钥对验证的SSH原理 3.3、配置密钥的验证 4、scp远程复制 5、sftp安全性传输 6、TCP Wrappers 访问控制 7、总结 引言:SSH是什么?SSH(

    2023年04月16日
    浏览(43)
  • Windows下配置SSH实现免密访问和远程端口转发

    最近想要配置自家的电脑用作服务器,方便自己远程访问。 由于没有静态IP,最开始想使用DDNS,从花生壳注册了一个域名,然后在路由配置端口转发,配置完成后,发现家里网络是光猫拨号的,路由器自动获取ip,转发的依然是内网ip,局域网可以访问,但是外网仍然访问不

    2024年02月02日
    浏览(44)
  • Linux基础——远程访问及控制(SSH)

    是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。 SSH优点: 数据传输是加密的,可以防止信息泄漏 数据传输是压缩的,可以提高

    2023年04月26日
    浏览(40)
  • Linux远程访问及控制SSH命令

    1.1.1什么是SSH服务器? SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能; SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令; SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加

    2024年02月03日
    浏览(44)
  • [运维] iptables限制指定ip访问指定端口和只允许指定ip访问指定端口

    要使用 iptables 限制特定IP地址访问特定端口,您可以使用以下命令: 请将 IP地址 替换为要限制的IP地址,将 端口号 替换为要限制的端口号。 这个命令将添加一条规则到 iptables 的 INPUT 链,该规则匹配特定的 IP 地址和端口号,并将数据包的动作设置为 DROP ,这意味着数据包将

    2024年02月12日
    浏览(34)
  • ssh端口转发-本地端口转发和远程端口转发的具体用法实例

    在一开始学习ssh端口转发的时候,总是被本地端口转发和远程端口转发的区别搞得头大,缠斗数日无果,沉思一番之后,决定逐个攻破,先揪住一个掰开揉碎,另一个再如法炮制,如此一来,迷惑可解矣。 ssh一般会涉及到3个角色:两个端之间建立ssh连接,还有一个角色则是

    2024年02月12日
    浏览(52)
  • ubuntu如何开启22端口支持ssh访问

    1.查看本机IP ifconfig 执行后如果提示服务不存在,则需要下载该工具 sudo apt install net-tools 2.查看端口22是否被占用 netstat -nltp|grep 22 -n 不以进程的服务名称,以编号port number显示 -t 列出tcp网络封包的信息 -l 列出目前正在网络监听listen服务 -p 列出该网络服务的进程 如果发现没有

    2024年02月05日
    浏览(37)
  • 云计算Linux运维——基础服务应用——SSH远程连接(1)

    目录 点关注不迷路 SSH远程连接 一、SSH介绍 1、管理Linux服务器的方式 2、确保Linux服务正常运行 3、客户端软件 二、ssh远程连接操作 1、ssh远程连接 2、执行远程命令 3、远程拷贝文件 三、SSH怎么实现加密? 1、数据加密 2、数据加密算法 3、对称加密算法 4、非对称加密算法  

    2024年02月02日
    浏览(47)
  • 通过SSH设置密钥远程访问

    密钥登录的原理:利用密钥生成器制作一只公钥和一只私钥。将公钥添加到服务器上,然后在客户端利用私钥即可登录。 通过命令 ssh-keygen 生成密钥是首选,密钥默认保留在 ~/.ssh 目录中,可以先通过命令 ls -al ~/.ssh 在 terminal/powershell 中查询是否存在密钥。 没有密钥则在 本

    2024年02月05日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包