【综合架构】Part 4 SSHD服务

目录

[1 openssh 特点](#1 openssh 特点)

[2 Telnet vs Openssh](#2 Telnet vs Openssh)

[3 Openssh - server 配置文件](#3 Openssh - server 配置文件)

[4 Openssh - client 客户端](#4 Openssh - client 客户端)


1 openssh 特点

  • 实现加密的远程连接/数据传输
  • openssh-server 服务器 (sshd, /etc/sshd_config)
  • openssh-client 客户端命令 (scp, ssh)

2 Telnet vs Openssh

|------------|------|---------|-----------------------------|
| | 共同点 | 区别 | 应用场景 |
| openssh 服务 | 远程连接 | 数据是加密的 | 默认使用openssh |
| telnet 服务 | 远程连接 | 数据是未加密的 | 升级 openssh 服务时,启动 telnet 服务 |

安装 Telnet 服务

步骤 1 :安装服务

bash 复制代码
yum install -y telnet-server

步骤 2 :启动服务,关闭自启动

bash 复制代码
systemctl disable telnet.socket

systemctl start telnet.socket

步骤 3 :连接设备

bash 复制代码
telnet root@10.0.0.41

3 Openssh - server 配置文件

3.1 核心文件位置

bash 复制代码
/etc/ssh/sshd_config

3.2 配置详解

|-------------------------|-----------------------------------------------------------------------------------|
| 连接加速 ||
| UseDNS no | 是否开启反向解析:ip 向 域名或主机名 |
| GSSAPIAuthentication no | GSS 认证功能关闭 |
| 安全优化项目 ||
| Port | 默认是Port 22 端口范围1-65535 推荐1w以上的端口 |
| PermitRootLogin | 禁用 root 用户远程登录权限. 默认是 yes(能让root远程登录)(ubt系统中默认是no)使用建议:先添加普通用户配置sudo权限,然后再禁用. |
| ListenAddress | 监听的地址(后面需要指定本地网卡的ip地址) 可以控制用户只能通过内网访问,应用建议:一般配合着堡 垒机,vpn. |

操作建议:未来可以设置公网的端口与局域网端口不同(内外网端口分离)。

bash 复制代码
#表示ssh都可以使用 52113 无论局域网还是公网
ListenAddress  0.0.0.0:52113

#表示ssh只有在 172.16.1.61 局域网可以使用22端口
ListenAddress  172.16.1.61:22

ssh  root@172.16.1.61
ssh -p 52113 root@10.0.0.41 
ssh -p 22  root@10.0.0.41

4 Openssh - client 客户端

4.1 命令介绍

  • scp 远程传输文件
  • ssh 远程连接
  • sftp 远程传输文件(一般开发通过图形化界面使用ftp工具)

4.1.1 scp

格式:"scp    文件/目录    用户名@ip:路径"

-r    递归传输,传输目录
-p    保持属性信息不变
-P    指定端口号 

#范例
scp  -rp -P 22 /etc/hostname  root@10.0.0.41:/tmp/

4.1.2 ssh

功能:

  1. 远程连接
  2. 远程连接并执行命令或者脚本(不要执行交互式命令)
# 案例1:使用普通用户远程连接到10.0.0.41的22端口
ssh -p 22  cherry@10.0.0.41

# 案例02:使用普通用户远程连接到10.0.0.41的22端口并执行 whoami 命令或 ip a 命令
ssh -p 22  oldboy@10.0.0.41  whoami

# 案例3:远程连接10.0.0.31节点并执行多条命令:whoami , pwd, hostname命令
ssh -p22  nfs01  "whoami  pwd  hostname -I "
ssh -p22  nfs01  "whoami ; pwd ; hostname -I   "

注意:"&&" 并且,命令行中表示前一个命令执行成功再执行后面的命令。
";" 分号,分隔命令,相当于是1行的结束。

4.1.3 sftp

  • ftp 文件传输协议,服务和客户端,服务端端口是21和20。
  • openssh (sshd)也提供了 ftp 功能,sftp端口是22。
  • ftp 客户端:常用 sftp 命令,软件xftp、winscp....

Tips:如果上传文件过大还是建议适应 ftp 或者 scp。

相关推荐
涛ing3 小时前
32. C 语言 安全函数( _s 尾缀)
linux·c语言·c++·vscode·算法·安全·vim
__雨夜星辰__3 小时前
Linux 学习笔记__Day2
linux·服务器·笔记·学习·centos 7
大耳朵土土垚3 小时前
【Linux】日志设计模式与实现
linux·运维·设计模式
深度Linux8 小时前
Linux网络编程中的零拷贝:提升性能的秘密武器
linux·linux内核·零拷贝技术
chian-ocean11 小时前
从理论到实践:Linux 进程替换与 exec 系列函数
linux·运维·服务器
拎得清n12 小时前
UDP编程
linux
敖行客 Allthinker12 小时前
从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案
linux·运维·服务器·c++
夏尔Gaesar13 小时前
Vim安装与配置教程(解决软件包Vim没有安装可候选)
linux·编辑器·vim
hunter20620613 小时前
如何监控ubuntu系统某个程序的运行状态,如果程序出现异常,对其自动重启。
linux·chrome·ubuntu
慕雪华年14 小时前
【Linux】opencv在arm64上提示找不到libjasper-dev
linux·运维·opencv