Open SSH服务配置

OpenSSH是Secure SHell(安全外壳协议,简称SSH)协议的免费开源实现1。它提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务,如rlogin、rsh、rcp以及telnet等1

一、功能特点

  1. 安全连接
    • 加密客户端与服务器之间的所有流量,从而遏止窃听、连接劫持和其他攻击。可以在远程系统上安全地运行shell,无论是在Linux系统之间,还是适用于Windows Server 2019、Windows 10(版本1809及更高版本)或Windows Server 2022等Windows系统与其他系统之间的连接等情况1
  2. 多种功能用途
    • 远程登录:如果在可提供ssh服务的远程Linux系统中拥有用户帐户,ssh是通常用来远程登录到该系统的命令,并且ssh命令也可用于在远程系统中运行命令1
    • 文件传输:支持远程拷贝文件。例如,可以将本地文件拷贝到远程主机(使用scp命令,如root@localhost\~#scpanaconda - ks.cfg root@192.168.112.131:/tmp,输入远程主机密码后即可完成传输),也可以将远程主机文件拷贝到本地(如root@localhost\~#scproot@192.168.112.130:/tmp/anaconda - ks.cfg/root )2
    • 端口转发:其他任何TCP/IP连接都可以通过SSH安全地进行隧道/转发1

二、工作模式 OpenSSH基于C/S(客户端/服务器)工作模式,有两种认证方式:口令认证和基于密钥的认证(密钥)1

三、安装(以CentOS系统为例)

  1. 服务器端安装
    • 需要安装openssh - server,因为它是服务器端与客户端核心文件2
  2. 客户端安装
    • 需要安装openssh - clients。如果一台机器既要做客户端又要做服务器端,就需要在该系统中安装openssh、openssh - clients、openssh - server这三个软件包;CentOS7中默认已安装好上述三个软件包。可以通过root@localhost\~#yum search openssh命令找到这些软件,再使用root@localhost\~#yuminstallopenssh.x86_64命令安装相关软件2

四、使用示例

  1. 远程登陆主机
    • 远程主机登陆(首次登陆):例如在hadoop@localhost\~$下执行ssh 192.168.112.130,首次登陆时会提示确认主机真实性(The authenticity of host '192.168.112.130(192.168.112.130)' can't be established. ECDSA key fingerprint is ff:7b:94:49:f5:2d:d3:59:23:c7:a8:cf:b0:d6:e4:b9. Are you sure you want to continue connecting(yes/no)?),输入yes后输入密码即可登陆,再次登陆不会有这个提示,并且主机信息会被添加到已知主机列表(Warning: Permanently added '192.168.112.130'(ECDSA) to the list of known hosts.)2
    • 指定用户名登陆:如hadoop@localhost home$ssh - lroot192.168.112.130,然后输入密码即可登陆2
  2. 远程拷贝
    • 本地文件拷贝到远程主机:例如root@localhost\~#scpanaconda - ks.cfg root@192.168.112.131:/tmp,输入远程主机密码后即可将本地文件anaconda - ks.cfg 拷贝到远程主机的/tmp目录下2
    • 远程主机文件拷贝到本地:例如root@localhost\~#scproot@192.168.112.130:/tmp/anaconda - ks.cfg/root ,输入远程主机密码后即可将远程主机/tmp目录下的anaconda - ks.cfg 文件拷贝到本地的/root目录下2
  3. 免密远程登陆及免密远程拷贝设置
    • 在A计算机root用户的命令行输入ssh - keygen--trsa,生成密钥对(适用于想要设置免密操作的情况)2

telnet服务使用21号端口,明文传输信息

ssh服务使用22号端口,密文传输信息

配置服务实验

1,分别查看试验机IP地址

客户端

服务端

2,在客户端检测双方连通性

3,密码认证进行登录

4,密钥认证

客户端生成密钥对

  1. 对称加密:两公钥/两私钥
  2. 非对称加密:一公钥一私钥(默认是rsa非)

客户端将公钥上传给服务器

客户端使用私钥和服务器的公钥进行匹配

5,在服务端禁用root登录

修改配置文件

修改第38行被注释的命令

重启sshd服务

在客户端上测试登录服务端

6,主机文件上传与下载

下载 scp 可选参数 file_source file_target

scp local_file remote_username@remote_ip:remote_folder

声明:部分内容来自于网络,如有侵权联系删除

相关推荐
ltl7 小时前
大多数「无锁」代码其实不是无锁的
linux
ltl7 小时前
Linux 内核的内存屏障:一个让我调了三天的 bug
linux
Dontla8 小时前
预置known_hosts如何防止中间人攻击(MITM)?(服务器公钥、服务器私钥)Runner、DNS污染、BGP劫持、同网络ARP欺骗、SSH握手
服务器·网络·ssh
Lonely 净土9 小时前
Rocky Linux 安装教程
linux·运维·服务器
光影少年10 小时前
RN的Fabric 渲染流程
运维·前端·javascript·react native·react.js·fabric
A 糖醋排骨10 小时前
grafana loki alloy轻量级日志采集
运维·grafana·loki
林间码客13 小时前
从DevOps到DevSecOps:构建现代软件交付的基石与护城河
大数据·运维·devsecops·devops
李白你好13 小时前
Windows 离线 Linux 提权辅助查询工具
linux
Lust Dusk14 小时前
记一次Linux应急响应题目解析
linux·运维·服务器·网络·安全·网络安全
ShineWinsu14 小时前
对于Linux:五种IO模型以及非阻塞IO的详细解析
linux·c++·面试·io·阻塞·非阻塞·fcntl