SSH基础操作

SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中提供安全的远程登录和其他安全网络服务。SSH 提供了多种参数和选项,以满足不同的使用场景和需求。

一、安装ssh客户端命令

1、Ubuntu/Debian及其衍生版

sudo apt-get update

sudo apt-get install openssh-server #安装服务端命令

sudo apt-get install openssh-client #安装客户端命令

2、CentOS/RHEL及其衍生版

2.1 使用yum命令安装

sudo yum install openssh-clients #安装客户端命令

sudo yum install openssh-server #安装服务端命令

2.1 使用dnf命令安装

sudo dnf install openssh-clients #安装服务端命令

sudo dnf install openssh-server #安装服务端命令

二、基本连接参数

1、用户名和主机

格式:ssh [用户名]@[主机地址]

示例:ssh username@192.168.1.100

2、指定端口

参数:-p [端口号]

示例:ssh -p 22 username@hostname

3、使用特定的密钥文件

参数:-i [私钥文件路径]

示例:ssh -i ~/.ssh/id_rsa username@hostname

三、认证和加密相关参数

1、启用或禁用密码认证

参数:-o PasswordAuthentication=yes或no

示例:ssh -o PasswordAuthentication=no username@hostname

2、数据压缩

参数:-C

示例:ssh -C root@192.168.0.103

3、调试信息

参数:-v(轻度调试)、-vv(更详细)、-vvv(最详细)

示例:ssh -vv username@hostname

四、高级功能参数

1、执行远程命令

示例:ssh username@hostname 'ls -l'

2、端口转发

参数:-L [本地端口]:[远程地址]:[远程端口]

示例:ssh -L 8080:localhost:80 username@hostname

3、X11 转发 ( 允许 GUI 应用传输 )

参数:-X

示例:ssh -X username@hostname

4、静默模式 ( 不显示任何消息 )

参数:-q

示例:ssh -q username@hostname

5、配置文件指定

参数:-F [配置文件路径]

示例:ssh -F /path/to/config username@hostname

6、使用 SOCKS 代理

参数:-D [本地端口]

示例:ssh -D 8080 username@hostname

7、绑定源地址

参数:-b [源IP地址]

示例:ssh -b 192.168.0.200 root@192.168.0.103

五、其他参数

1、强制伪 tty 分配

参数:-t

示例:ssh -t 10.0.0.5(可以在多跳登录中使用)

2、选项参数

-o 可以后跟多种选项,如 StrictHostKeyChecking=no,用于关闭对主机密钥的严格检查。

六、SSH 配置文件

SSH 的配置文件通常位于/etc/ssh/ssh_config(客户端)和/etc/ssh/sshd_config(服务端)。这些配置文件包含了 SSH 的各种默认设置,可以通过编辑这些文件来自定义 SSH 的行为。

七、使用建议

  1. 在使用 SSH 进行远程连接时,建议使用密钥对认证方式,以提高安全性。
  2. 对于重要的服务器,应关闭密码认证,并限制允许连接的用户和IP地址。
  3. 定期检查 SSH 配置文件和日志文件,以确保系统的安全性。

总之,SSH 提供了丰富的参数和选项,以满足不同的使用需求。通过合理配置和使用这些参数,可以确保远程连接的安全性和稳定性。

相关推荐
苦学编程的谢1 分钟前
Linux
linux·运维·服务器
G_H_S_3_8 分钟前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本
拾心2136 分钟前
【运维进阶】Linux 正则表达式
linux·运维·正则表达式
xcs194051 小时前
AI 自动化编程 trae 体验 页面添加富编辑器
运维·自动化·编辑器
Gss7772 小时前
源代码编译安装lamp
linux·运维·服务器
G_H_S_3_2 小时前
【网络运维】Linux:正则表达式
linux·运维·网络·正则表达式
huangyuchi.2 小时前
【Linux系统】匿名管道以及进程池的简单实现
linux·运维·服务器·c++·管道·匿名管道·进程池简单实现
AAA修煤气灶刘哥2 小时前
手把手教你全流程项目部署:从 Jenkins 到 Nginx 的项目实战手册
java·运维·后端
czhc11400756633 小时前
LINUX 820 shell:shift,expect
linux·运维·excel
咕噜签名分发冰淇淋3 小时前
签名应用APP分发平台的微服务化部署是什么?其有哪些优势?
java·运维·微服务