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

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

相关推荐
重生之我是数学王子几秒前
网络编程 TCP编程 Linux环境 C语言实现
linux·服务器·c语言·网络·tcp/ip
1037号森林里一段干木头3 分钟前
ubuntu双屏只显示一个屏幕另一个黑屏
linux·运维·ubuntu
Хайде8 分钟前
VIM的使用
linux·编辑器·vim
夜观天象昼编程19 分钟前
服务器的免密登录和文件传输
运维·服务器
玉石俱焚ing30 分钟前
ubuntu20上部署gitlab并开启ipv6访问
运维·gitlab
vvw&1 小时前
Flarum:简洁而强大的开源论坛软件
运维·服务器·部署·flarum·论坛
Dragon_qu·x1 小时前
Mac 配置SourceTree集成云效
linux·git·云计算·mac
Y.O.U..1 小时前
Linux-计算机网络-epoll的LT,ET模式
linux·服务器·计算机网络·算法·1024程序员节
板子小哥1 小时前
LuatOS学习指南:开启物联网开发之旅
运维·服务器·开发语言·人工智能·物联网·junit·lua