OpenSSL服务

OpenSSH服务

SSH:secure shell,protocol,22/tcp,安全的远程登录,C/S
SSH协议版本:
v1:基于CRC-32做MAC,不安全:man-in-middle
v2:双方主机协议选择安全的MAC方式
基于DH算法做密钥交换,基于RSA或DSA算法实现身份认证
两种方式的用户登录认证:
1)基于passwd
2)基于key
客户端组件:ssh,配置文件:/etc/ssh/ssh_config
服务器组件:sshd,配置文件:/etc/ssh/sshd_config
基于密钥的认证实验:
Clinent host:
客户端ip地址为192.168.10.10
Server host:
服务器端ip为192.168.10.17

1)在客户端生成密钥对儿
生成公钥命令:ssh-keygen -t rsa
在这里插入图片描述
在用户家目录下.ssh目录里有两个密钥文件
id_rsa ##这个文件为主机的私钥文件,自己保留
id_rsa.pub ##这个文件为主机公钥文件,需要对那台主机做 免密登录则把此文件发送给相应主机即可
在这里插入图片描述
2)发送公钥文件有两种发送方式
基于ssh-copy-id的方式发送:
在这里插入图片描述
此时在服务器端已经接收到客户端的公钥文件
在这里插入图片描述
这是客户端的公钥文件,文件必须得是此文件名

基于scp的文件传输方式发送文件
在这里插入图片描述
文件格式必须相同

3)测试
在这里插入图片描述
scp命令:(跨主机的复制命令)
scp [option] SRC…DEST/
常用选项:
-r:递归复制
-p:保持原文件的属性信息;
-q:静默模式;
-p PORT:指明remote host的监听的端口;
例子:
上传:
scp /tmp/fstab.txt root@192.168.10.17:/tmp
下载:
scp root@192.168.10.17:/etc/fstab /tmp/

ssh服务的最佳实践:
	1、不要使用默认端口;
	2、禁止使用protocol version 1;
	3、限制可登录用户;
	4、设定空闲会话超时时长;
	5、利用防火墙设置ssh的访问策略;
	6、仅监听特定的IP地址;
	7、基于口令认证时,使用强密码策略;
		    # tr -dc A-Za-z0-9_ < /dev/urandom  | head -c 30 | xargs
	8、使用基于密钥的认证;
	9、禁止使用空密码;
    10、禁止root用户直接登录;
	11、限制ssh的访问频度和并发在线数;
	12、做好日志,经常分析;
### 在 Windows 系统中将 OpenSSL 配置为服务 要将 OpenSSL 配置为服务以便于自动化启动和管理,可以通过以下方法实现。这通常涉及创建自定义脚本来封装 OpenSSL 功能,并将其注册为 Windows 服务。 --- #### 1. 准备 OpenSSL 执行环境 确保已经正确安装了 OpenSSL,并且其二进制文件路径已添加到系统的 `Path` 环境变量中[^1]。例如,默认情况下 OpenSSL 可能被安装在类似于 `C:\Program Files\OpenSSL-Win64\bin` 的目录下。 --- #### 2. 编写批处理脚本以调用 OpenSSL 创建一个 `.bat` 文件(例如 `start_openssl_service.bat`),该文件将作为服务的核心逻辑执行。以下是示例代码: ```batch @echo off rem 更改工作目录到 OpenSSL 安装路径 cd /d C:\Program Files\OpenSSL-Win64\bin rem 启动 OpenSSL 监听服务 openssl s_server -accept 4433 -www ``` 在此示例中: - `-accept 4433` 表示监听端口为 4433。 - `-www` 参数允许服务器提供简单的 HTTP 响应页面。 保存此文件并测试它是否按预期运行。 --- #### 3. 使用 NSSM 注册服务 由于 Windows 不直接支持将批处理文件或命令行工具注册为服务,因此推荐使用 **NSSM (Non-Sucking Service Manager)** 来简化这一过程。 ##### 步骤: 1. 下载 NSSM 并解压:[https://nssm.cc/download](https://nssm.cc/download)[^3]。 2. 运行以下命令以注册新服务: ```cmd nssm install OpenSSLService ``` 3. 在弹出的窗口中填写以下信息: - **Path**: 指定为 `C:\Windows\System32\cmd.exe`。 - **Startup directory**: 设置为批处理脚本所在的目录。 - **Arguments**: 输入 `/c start_openssl_service.bat`。 4. 单击“Install service”完成配置。 --- #### 4. 控制和服务交互 安装完成后,可以使用以下命令控制服务状态: - 启动服务: ```cmd net start OpenSSLService ``` - 停止服务: ```cmd net stop OpenSSLService ``` --- #### 5. 注意事项 - 如果计划长期运行,请考虑优化日志记录机制以及错误恢复策略。 - 对于生产环境中的 HTTPS 应用程序开发,建议采用成熟的 Web 服务器软件(如 Apache 或 Nginx)集成 OpenSSL,而非单独依赖于此方式[^2]。 --- ### 示例总结 通过上述流程即可成功把 OpenSSL 设定成一项后台持续运作的服务形式。最终达成的效果是在系统开机时自动加载指定的功能模块而无需手动干预。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值