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

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

相关推荐
ac.char2 分钟前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾3 分钟前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
长弓聊编程21 分钟前
Linux系统使用valgrind分析C++程序内存资源使用情况
linux·c++
cherub.28 分钟前
深入解析信号量:定义与环形队列生产消费模型剖析
linux·c++
梅见十柒1 小时前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Koi慢热1 小时前
路由基础(全)
linux·网络·网络协议·安全
传而习乎1 小时前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
soulteary1 小时前
突破内存限制:Mac Mini M2 服务器化实践指南
运维·服务器·redis·macos·arm·pika
我们的五年1 小时前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
IT果果日记2 小时前
ubuntu 安装 conda
linux·ubuntu·conda