SSH服务远程访问及控制

这篇具有很好参考价值的文章主要介绍了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(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。

1、SSH服务

1.1、配置OpenSSH

SSH协议

是一种安全通道协议

对通信数据进行了加密处理,用于远程管理

OpenSSH

服务名称:sshd

服务端主程序:/usr/sbin/sshd

服务端配置文件:/etc/ssh/sshd_config

c------s 客户端到服务端

SSH服务远程访问及控制

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

SSH服务端:OpenSSH

OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统

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

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

作用:SSHD服务使用SSH协议可以用来进行远程控制,或在计算机之间传送文件。

相比较之前用Telnet方式传输文件要安全很多,因为Telnet使用明文传输,SSH是加密传输

OpenSSH 常用配置文件有两个 /etc/ssh/ssh.config   和 /etc/sshd.config

ssh_config :为客户端配置文件,设置与客户端相关的应用可通过此文件实现

sshd_config :为服务端配置文件,设置与服务端相关的应用可通过此文件实现

1.2、SHH远程登录方式

登录方法一:

ssh  [远程主机用户名]  @  [远程服务器主机名或IP地址]  -p   port

当在Linux主机上远程连接另一台Linux主机时,如当前所登录的用户是root 话,当连接另一台时也是用root用户登录的,可以直接使用ssh  IP ,端口不是默认的情况下,需要使用-p 指定端口

SSH服务远程访问及控制

设置主机信息后,也可以根据主机名进行远程连接

SSH服务远程访问及控制 vim  /etc/hostsSSH服务远程访问及控制

登录方法二:

 ssh  -l  [远程主机用户名]  [远程服务器主机名或IP地址] -p  port

-l  : 选项,指定登录名称

-p : 指定登录端口(当服务器的端口非默认时,需要使用-p 指定端口进行登录)

SSH服务远程访问及控制

 注:当第一次登录服务器系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/ .ssh/known_hosts 文件中,下次再进行登录是因为保存该主机信息就不会再提示了。

SSH服务远程访问及控制

 ssh会把你每个访问过计算机的公钥(public key)都记录再~/.ssh/known_hosts 当下次访问相同计算机时,openssh会核对公钥,如果公钥不同,openssh会发出警告,避免你收到DNS  Hijack之类的攻击。

使用ssh连接远程主机时加上 -o StrictHostKeyChecking=no  IP地址

SSH服务远程访问及控制

2、服务配置与管理

SSH服务远程访问及控制

查看版本 

 SSH服务远程访问及控制

SSH服务端配置文件常用选项设置

vim /etc/ssh/sshd_config

#Port 22                 设置SSHD监听端口号。

#ListenAddress      监听地址 设置sshd服务器绑定的IP地址,0.0.0.0表示侦听所有地址

#SyslogFacility AUTHPRIV                 当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV,sshd 服务日志存放在:/var/log/secure。

安全调优

#LoginGraceTime 2m              grace意思是系统给与多少秒来进行登录。(默认2分钟,0 表示无限制)  当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中。在多久时间内没有成功连上SSHserver 就强迫断线!若无单位则默认时间为秒。可以根据实际情况来修改。

#PermitRootLogin yes            是否允许 root 登入,默认是允许的,但是建议设定成 no,真实的生产环境服务器,是不允许root 账号直接登陆的,仅允许普通用户登录,需要用到 root 用户再切换到root 用户。

#MaxAuthTries 6                      指定每个连接最大允许的认证次数。默认值是 6 。如果失败认证的次数超过这个数值的一半,连接将被强制断开,且会生成额外的失败日志消息默认3次。

# PermitEmptyPasswords no             是否允许空密码的用户登录,默认为no,不允许空密码登录                            

#PasswordAuthentication yes       密码验证当然是需要的!所以这里写 yes,也可以设置为 no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。

SSH服务远程访问及控制

SSH服务远程访问及控制

#UseDNS yes      一般来说,为了要判断客户端来源是正常合法的,因此会使用DNS去反查客户端的主机名。禁用DNS反向解析可以提高服务器的响应速度

SSH服务远程访问及控制

 #AllowUsers      当希望只允许或禁止某些用户登录时,可以使用 AllowUsers 或 DenyUsers 配置,两者 用法类似(注意不要同时使用)。
配置AllowUsers

SSH服务远程访问及控制

设置完之后需要重启服务    systemctl  restart   sshd   

 允许的用户可以进行远程连接登录,root用户没有权限无法进行登录

SSH服务远程访问及控制

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

密码验证:对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码(暴力破解)攻击时防御能力比较弱。

密码复杂性(18位 、大写、小写、字符、数据)端口(1023以上叫做高危端口 )做好安全

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

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用,只允许启用密钥对验证方式;若没有特殊要求,则 两种方式都可启用

3.1、公钥和私钥的关系

在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的

公钥用来给数据加密,用公钥加密的数据只能使用私钥解

3.2、构建密钥对验证的SSH原理

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

SSH服务远程访问及控制

vim /etc/ssh/sshd_config     

SSH服务远程访问及控制

3.3、配置密钥的验证

在客户端创建密钥对

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

客户端

SSH服务远程访问及控制

确认新生成的密钥文件

SSH服务远程访问及控制

将公钥文件上传至服务器

scp  ~/.ssh/id_ecdsa.pub root@192.168.58.10:/指定目录         

cd ~/.ssh/
ssh-copy-id  -i  id_ ecdsa.pub root@192.168.58.10

SSH服务远程访问及控制

在服务端查看上传的公钥文件

SSH服务远程访问及控制

 在客户端使用密钥对验证

SSH服务远程访问及控制

也可以使用 在客户机设置ssh代理功能,实现免交互登录

SSH服务远程访问及控制

无需输入私钥密码,直接连接服务端

SSH服务远程访问及控制

4、scp远程复制

安全性复制

scp:scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,而且scp传输是加密的

 本地文件复制到服务器SSH服务远程访问及控制

SSH服务远程访问及控制

 将服务器上的目录复制到客户端上SSH服务远程访问及控制

SSH服务远程访问及控制

 scp -r  /etc/   root@192.168.58.10:/root/      本地目录复制到服务器上

5、sftp安全性传输

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

sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作

所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP 

sftp    root@192.168.58.10  /root
sftp> ls
sftp> get 文件名        #下载文件    下载目录  -r
sftp> put 文件名        #上传文件
sftp> exit                    #退出

SSH服务远程访问及控制

SSH服务远程访问及控制

6、TCP Wrappers 访问控制

 TCP Wrappers访问控制

在 Linux 系统中,许多网络服务针对客户端提供了访问控制机制,如 Samba、BIND、 HTTPD、OpenSSH 等
TCP Wrappers 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了 一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序

rpm -q  tcp_wrappers       #查询是否安装,一般系统会默认安装

SSH服务远程访问及控制

 vim  /etc/hosts.allow   允许192.168.58.30机器连接

SSH服务远程访问及控制

SSH服务远程访问及控制

 vim  /etc/hosts.deny    拒绝192.168.58.19机器连接

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

7、总结

简单的说,SSH是一种网络协议,主要用于客户端与远程主机的安全链接和交互。通过上述描述我们了解了OpenSSH服务端,配置文件内监听选项,用户登录控制,登录验证方式,以及构建密钥对验证的SSH体系的步骤以及TCP Wrappers访问控制。我们之前了解过一些安全机制,pam认证,用户安全认证,以及上述内容中的sshd安全。文章来源地址https://www.toymoban.com/news/detail-414875.html

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

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

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

相关文章

  • 远程访问及控制——SSH

    配置Openssh服务端 使用SSH客户端程序 密钥对验证的SSH体系 SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。 SSH 默认使用的端口号是 22。. 大多现代的 Linux 系统 22 端口都是开放的。. 如果你运行 ssh 程序而没有指定端口

    2024年02月10日
    浏览(27)
  • 远程访问及控制(SSH)

    引言: 简单来说,SSH是一种网络协议,主要用于客户端和远程主机的安全连接和交互;在生产环境中尤为重要,为了远程操控的安全性,设置公钥和私钥,不仅防止某些暴力破解,也大大增强远程主机被操控的安全问题,防止不知名用户登陆操作 1.SSH是什么: SSH(Secure Shell)是

    2023年04月25日
    浏览(26)
  • SSH远程访问及控制

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

    2024年02月03日
    浏览(26)
  • Linux远程访问及控制SSH命令

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

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

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

    2023年04月26日
    浏览(37)
  • HTTP 错误 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。

    用IIS 发布网站,不能访问且出现错误:HTTP 错误 401.3 - Unauthorized 由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置。您无权查看此目录或页面 问题截图: 问题描述:HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。 原因分析:IIS匿名用户一般属于

    2024年02月05日
    浏览(38)
  • ssh远程服务连接控制

    目录 一、ssh简介 1、SSH介绍 2、管理Linux服务器的方式 3、确保Linux服务器正常启动SSH服务 4、客户端软件 二、ssh主要命令  1.ssh远程登录命令 2. scp远程复制命令  3.sftp:加密远程复制命令  4.openssh服务 三、构建秘钥对验证的ssh体系(免密登录) 1、SSH介绍 SSH是一个应用层协议

    2024年02月11日
    浏览(37)
  • Centos 7 安装、配置并启动SSH远程访问

    1.查看SSH是否安装: 2.安装缺失的包、并配置SSH: 这里按y就好了 3.注册使用服务 4.配置OpenSSH服务(默认的就可以正常工作) 按i键进入编辑模式 输入完了按Esc,输入:后再输入wq,按回车 5.重启OpenSSH服务 6.远程SSH连接服务器 查看IP地址 这里我的IP是192.168.1.100 还有192.168.28.

    2024年02月16日
    浏览(36)
  • Linux 远程控制服务(SSH和Telnet)

    服务器(IP:192.168.10.91) 配置sshd服务 两种验证方式: 1.基于口令的验证—用账户和密码来验证登录 2.基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。 服务名:sshd(系统默认状态是安

    2024年02月10日
    浏览(40)
  • Linux中SSH配置与使用:安全的远程访问方式

    SSH(Secure Shell)是一种加密的网络协议,为Linux系统提供了安全、加密的远程访问方式。通过正确配置和使用SSH,管理员可以远程管理服务器,传输文件,并确保通信的机密性。本文将深入探讨Linux中SSH的配置和使用,提供详实的示例代码,帮助管理员更全面地了解和运用SS

    2024年04月28日
    浏览(21)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包