【综合架构】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。

相关推荐
码界奇点14 小时前
从零构建Linux Shell解释器深入理解Bash进程创建机制
linux·运维·解释器模式·bash·ux·源代码管理
闻道且行之14 小时前
嵌入式|Linux中打开视频流的两种方式V4l2和opencv
linux·笔记·opencv·嵌入式
等风来不如迎风去14 小时前
【bash】命令查看当前目录下文件个数
linux·运维·服务器
守.护15 小时前
云计算学习笔记——日志、SELinux、FTP、systemd篇
linux·云计算·ftp·selinux
代码程序猿RIP15 小时前
【Linux】线程封装
linux·jvm·c++
xxy.c15 小时前
嵌入式解谜日志—多路I/O复用
linux·运维·c语言·开发语言·前端
倔强的石头10615 小时前
Linux服务器暴走,用Netdata+cpolar轻松驯化
linux·运维·服务器
坠金15 小时前
CentOS安装或升级protoc
linux·c语言·开发语言
GoodG_study16 小时前
windows通过xrdp远程连接Ubuntu黑屏问题解决
linux·ubuntu
敲上瘾16 小时前
Docker 容器核心指令与数据库容器化实践
linux·运维·服务器·docker·容器·eureka·dubbo