openssh-server

本文介绍了如何通过SSH实现远程主机的安全访问,包括基本的连接命令、使用公钥进行加密认证的方法、提升OpenSSH服务安全性的配置技巧以及如何限制特定客户端的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为方便区分两个不同的主机,需要提前改变一下主机名,以及shell的颜色。

这里写图片描述

这里写图片描述

1.openssh-server

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

2.客户端连接方式

ssh 远程主机用户@远程主机ip
[root@desktop0 ~]# ssh root@172.25.0.10
The authenticity of host ‘172.25.0.10 (172.25.0.10)’ can’t be established.
ECDSA key fingerprint is
eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes ##连接陌生主机时需要建立认证关系
Warning: Permanently added ‘172.25.0.10’ (ECDSA) to the list of known hosts.
root@172.25.0.10’s password: ##远程用户密码
Last login: Mon Oct 3 03:13:47 2016
[root@server0 ~]# ##登陆成功

这里写图片描述

第一次登陆的时候,会出现验证信息,第二次登录的时候就不会出现了,上图就是第二次以后登录的时候出现的情况。
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具

这里写图片描述

ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令

这里写图片描述

这里写图片描述

3.sshkey加密

1.生成公钥私钥
[root@server0 ~]# ssh-keygen ##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase): [enter] ##密钥密码,必须>4个字符
Enter same passphrase again: [enter] ##确认密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
The key’s randomart image is:
+–[ RSA 2048]—-+
|o |
|E. |
|.. |
|. . o |
|.o. * . S |
|oo.o o . |
|+ =. . . |
|o. oo.+.. |
| ..o*. |
+—————–+
[root@server0 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁

这里写图片描述

2.添加key认证方式
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.0.10
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.0.10 ##被加密主机ip

这里写图片描述

3.分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.11:/root/.ssh/

这里写图片描述
4。关闭服务端的密码认证,并且重启服务。

这里写图片描述

这里写图片描述

5.测试

[root@desktop0 ~]# ssh root@172.25.0.10 ##通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[root@server0 ~]#

这里写图片描述

4.提升openssh的安全级别

1.openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭

这里写图片描述

48 PermitRootLogin yes|no ##是否允许超级用户登陆

这里写图片描述

49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell

这里写图片描述

50 DenyUsers westos ##用户黑名单

这里写图片描述

2.控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL ##拒绝所有人链接sshd服务

这里写图片描述

vim /etc/hosts.allow
sshd:172.25.254.11 ##允许11主机链接sshd

这里写图片描述

sshd:172.25.254.250, 172.25.254.180 ##允许250和180链接

sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd

3.ssh登陆提示修改该
vim /etc/motd ##显示登陆后字符

这里写图片描述

你好啊 ##在登陆后就会显示这个字符

<think>嗯,用户想知道openssh-serveropenssh-client的区别和应用场景。首先,我需要回忆一下这两个软件包的作用。根据之前提供的引用内容,openssh-server是服务端,而openssh-client是客户端。服务端的配置文件是/etc/ssh/sshd_config,客户端的则是/etc/ssh/ssh_config。服务端负责监听连接请求,而客户端用来发起连接。 接下来,我应该详细说明两者的核心功能。比如,openssh-server包含sshd服务,它持续运行在后台,等待客户端的连接。而openssh-client则提供了ssh、scp、sftp等工具,让用户能连接到远程服务器或者传输文件。应用场景的话,服务器需要安装openssh-server来允许远程访问,而个人电脑安装openssh-client用于连接其他服务器。 用户可能还关心如何安装和配置这两个包。根据引用,安装服务端可能需要sudo apt install openssh-server,客户端则是sudo apt install openssh-client。配置方面,服务端的配置文件需要调整端口、禁用root登录等安全设置,而客户端配置通常较少,除非有代理或密钥设置。 另外,用户可能想知道什么时候需要同时安装两者。比如,开发环境既作为服务器又需要连接其他服务器的情况。这时候两个包都需要安装。同时,安全注意事项也很重要,比如服务端需要定期更新,使用密钥认证,而客户端则需管理好私钥。 可能用户还有更深层次的需求,比如如何启动服务,或者如何处理安装中的问题,比如离线安装。但根据问题,主要聚焦在区别和应用场景,所以需要保持回答简洁明了,结构清晰。最后,生成的相关问题应该引导用户进一步了解配置、安全优化或故障排查。</think>### OpenSSH-ServerOpenSSH-Client 功能区别及应用场景 #### 一、核心功能区别 1. **OpenSSH-Server** - **用途**: 提供 SSH 服务端功能,允许远程主机通过 SSH 协议连接到当前设备。 - **关键组件**: - `sshd` 服务:监听默认端口 22,处理 SSH 连接请求[^3] - 配置文件:`/etc/ssh/sshd_config`(控制服务端行为,如端口、密钥验证方式等)[^1] - **典型场景**: - 服务器需要被远程管理时(如 Linux 云主机) - 需要提供 SFTP 文件传输服务 2. **OpenSSH-Client** - **用途**: 提供 SSH 客户端工具,用于发起 SSH 连接或文件传输。 - **关键组件**: - `ssh` 命令:建立加密终端会话 - `scp/sftp` 命令:安全文件传输 - 配置文件:`/etc/ssh/ssh_config`(客户端连接参数配置)[^1] - **典型场景**: - 从个人电脑连接远程服务器(如 `ssh user@example.com`) - 本地与服务器之间传输文件(如 `scp file.txt user@example.com:/path`) #### 二、部署关系示意图 ```plaintext +----------------+ SSH协议加密通道 +-------------------+ | 客户端设备 | ------------------------------> | 服务器设备 | | (OpenSSH-Client)| <------------------------------ | (OpenSSH-Server) | +----------------+ +-------------------+ ``` #### 三、安装与配置差异 | 特性 | OpenSSH-Server | OpenSSH-Client | |--------------------|------------------------------------|------------------------------------| | **安装命令** | `sudo apt install openssh-server` | `sudo apt install openssh-client` | | **服务管理** | `systemctl start/enable ssh` | 无需服务,直接使用命令行工具 | | **安全配置重点** | 禁用密码登录、修改默认端口 | 管理密钥对、配置代理跳转 | #### 四、应用场景对比 1. **需安装 Server 的情况** - Web 服务器需要远程维护 - 提供 Git 仓库的 SSH 访问 - 集群节点间需要 SSH 互信通信 2. **仅需 Client 的情况** - 开发机连接测试环境 - 从本地同步日志文件到桌面 - 通过 SSH 隧道访问内网资源 3. **同时安装的场景** - 开发用 PC 既作为跳板机又需要连接其他服务器 - 容器镜像中同时包含服务端和客户端工具 #### 五、安全注意事项 1. **服务端必须配置**: - 禁止 root 直接登录:`PermitRootLogin no` - 启用密钥认证:`PasswordAuthentication no` - 定期更新:`sudo apt upgrade openssh-server` 2. **客户端最佳实践**: - 使用 `ssh-keygen -t ed25519` 生成高强度密钥 - 通过 `~/.ssh/config` 管理多主机配置 - 避免在公共网络使用未加密的 SSH 代理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值