广告位联系
返回顶部
分享到

Linux中SSH远程访问和控制的实现

linux 来源:互联网 作者:佚名 发布时间:2024-12-20 22:07:46 人浏览
摘要

一、SSH服务的概述 1.1、概念 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时

一、SSH服务的概述

1.1、概念

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

SSH客户端: Putty、 Xshell、 CRT、MobaXterm、FinalShell

1.2、SSH数据传输原理

SSH客户端与服务端是通过网络来进行数据文件传输的,数据传输是加密的,可以防止信息泄露,(并不安全)数据传输是压缩的,可以提高传输速度。

1.3、SSH服务端: OpenSSH

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。
Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。
执行"systemctl start sshd"命令即可启动sshd 服务
sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)
sshd服务的默认配置文件是/etc/ssh/sshd_config
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务

  • OpenSSH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/sshd_config。
  • ssh_config:为客户端配置文件,设置与客户端相关的应用可通过此文件实现
  • sshd_config:为服务器端配置文件,设置与服务端相关的应用可通过此文件实现。

二、配置OpenSSH服务端

vim /etc/ssh/sshd_config

1

2

3

4

Port 22    ### 监听端口为22

ListenAddress 0.0.0.0   ###监听地址为任意网段,也可用指定OpenSSH服务器的具体IP

 

UseDNS no     ###禁用DNS反向解析,以提高服务器的响应速度

三、sshd 服务的两种验证方式

3.1、密码验证

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

3.2、密钥对验证

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

密钥有两种

对称密钥

非对称密钥

非对称:RSA,创建出一个公钥,一个私钥,验证的话,私钥必须要和公钥能对应匹配,才允许登录、交互、否则拒绝。

PS:公钥和私有,实际上就是两个文件

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。

四、使用SSH客户端程序

4.1、ssh远程登录方式

登录 方法一:

ssh [远程主机用户名] @[远程服务器主机名或IP地址] -p port
当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口。

登录方法二:

ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l :-l 选项,指定登录名称。
-p:-p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)

4.2、扩展命令

1. 使用ssh连接远程主机时加上“-o StrictHostKeyChecking=no”的选项。

2. 一个彻底去掉这个提示的方法是,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:

1

2

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

五、构建密钥对验证的SSH

5.1、公钥和私钥的关系

在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
公钥用来给数据加密,用公钥加密的数据只能使用私钥解

构建密钥对验证的SSH原理首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下寻找事先放上去的对应用户的公用密钥,然后把它和连接的SSH客户端发送过来的公用密钥进行比较。如果两个密钥一致,SSH服务器就用公钥加密"质询"(challenge)并把它发送给SSH客户端。

5.2、scp复制

scp:scp是secure copy的简写(安全性复制),用于在Linux下进行远程拷贝文件的命令,而且scp传输是加密的。

1

2

3

4

5

6

1.###本地文件复制到服务器

scp sheng root@192.168.100.141:/opt

2.####复制服务器的文件到本地

scp root@192.168.100.141:/opt/test/ ./

3.####本地目录复制到服务器

scp -r 1234/ root@192.168.100.141:/opt

5.3、安全性传输sftp

sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Linux虚拟机重启找不到IP的解决方案

    Linux虚拟机重启找不到IP的解决方案
    本文介绍Linux 操作系统查看不到IP地址问题,随之发现Linux 网络服务重启失败也失败,按照以下骤即可完美解决!!! Linux 操作系统查看不
  • Linux中SSH远程访问和控制的实现

    Linux中SSH远程访问和控制的实现
    一、SSH服务的概述 1.1、概念 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双
  • linux的CPU使用率达到100%的快速定位过程

    linux的CPU使用率达到100%的快速定位过程
    问题现象 Linux服务器(操作系统版本是centos7.9)上面部署了若干Java站点服务,突然收到运维的CPU异常g告警,到了影响业务的情况发生,经初
  • haproxy软件的日志如何输出到指定文件

    haproxy软件的日志如何输出到指定文件
    haproxy软件日志输出到指定文件 默认haproxy的日志是输出到系统syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环
  • linux系统下如何新增vg大小
    linux系统下新增vg大小 最近有很多身边小伙伴问我呀,linux下面新增vg具体怎么操作,还有linux下面扩容已有vg怎么操作,那么接下来,我就带
  • Linux安装yum时出现apt-get install E: 无法定位软件包

    Linux安装yum时出现apt-get install E: 无法定位软件包
    ubuntu系统安装mysql之前安装yum,出现报错:E: 无法定位软件包问题 (1)找到源镜像,备份 1 2 cd /etc/apt/ // 切换到/etc/apt/ 目录下 sudo cp sourc
  • Linux/etc/passwd介绍
    Linux /etc/passwd Linux 系统中的 /etc/passwd 文件,是系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读
  • 使用Apache HttpClient执行GET、POST、PUT和DELETE请求的
    Apache HttpClient 是一个功能强大且灵活的库,用于在Java中处理HTTP请求。 它支持多种HTTP方法,包括GET、POST、PUT和DELETE等。 本教程将演示如何
  • apache Airflow快速入门教程应用场景分析

    apache Airflow快速入门教程应用场景分析
    Apache Airflow已经成为Python生态系统中管道编排的事实上的库。与类似的解决方案相反,由于它的简单性和可扩展性,它已经获得了普及。在本
  • Nginx实现会话保持的方式配置
    在 NGINX 中实现会话保持(Session Persistence),可以通过多种方法完成。以下是一些常见的方式: 1. 使用 IP 哈希(IP Hash) IP 哈希是一种简单
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计