问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

SSH命令详解:基本语法、常用选项及使用案例

创作时间:
作者:
@小白创作中心

SSH命令详解:基本语法、常用选项及使用案例

引用
CSDN
1.
https://blog.csdn.net/lisanmengmeng/article/details/145567005

SSH(Secure Shell)是一种加密网络协议,用于在客户端和服务器之间安全地传输数据,实现远程登录和执行命令。本文将详细介绍SSH命令的基本语法、常用选项以及各种应用场景,帮助读者掌握SSH的使用方法。

SSH(Secure Shell)是一种加密网络协议,用于在客户端和服务器之间安全地传输数据,实现远程登录和执行命令。SSH加密所有会话中的通信,确保数据传输的安全性。

基本语法

ssh [options] [user@]hostname [command]
  • [user@]hostname:要连接的远程主机的用户名和主机名(可以是IP地址或域名)。
  • [command]:可选参数,用于在远程主机上执行的命令。

常用选项

  • -l user:指定登录用户。
  • -p port:指定连接到远程主机的端口号,默认端口是22。
  • -i identity_file:指定身份验证文件(私钥文件)用于公钥验证。
  • -v:详细模式,显示调试信息。
  • -C:启用压缩。
  • -N:不执行远程命令,只进行端口转发。
  • -f:后台运行。
  • -L local_port:remote_host:remote_port:本地端口转发。
  • -R remote_port:local_host:local_port:远程端口转发。
  • -D [bind_address:]port:动态应用程序级端口转发。
  • -X:启用X11转发。
  • -A:启用代理转发。

使用案例

连接到远程主机

ssh user@hostname

例如:

ssh test@runoob.com

指定端口连接

ssh -p 2222 user@hostname

例如:

ssh -p 2222 test@runoob.com

使用身份验证文件

ssh -i /path/to/private_key user@hostname

例如:

ssh -i ~/.ssh/id_rsa test@runoob.com

在远程主机上执行命令

ssh user@hostname command

例如:

ssh test@runoob.com ls -la

指定登录用户

ssh -l user 192.168.1.100

或者

ssh user@192.168.1.100

使用 SSH 密钥对登录

生成密钥对:

ssh-keygen -t rsa

将公钥上传到远程主机的~/.ssh/authorized_keys文件中:

ssh-copy-id user@192.168.1.100

登录远程主机:

ssh user@192.168.1.100

本地端口转发

ssh -L local_port:remote_host:remote_port user@hostname

例如:

ssh -L 8080:localhost:80 test@runoob.com

远程端口转发

ssh -R remote_port:local_host:local_port user@hostname

例如:

ssh -R 8080:localhost:80 test@runoob.com

动态端口转发

ssh -D [bind_address:]port user@hostname

例如:

ssh -D 1080 test@runoob.com

SSH 客户端配置文件

SSH客户端配置文件位于~/.ssh/config,可以在其中设置常用配置。例如:

使用时只需:

ssh example

SSH 代理转发

启用代理转发:

ssh -A user@hostname

X11 转发

启用 X11 转发:

ssh -X user@hostname

安全建议

  • 修改 SSH 默认端口,防止被端口扫描。
  • 禁用 root 用户直接登录。
  • 使用 SSH 密钥对登录,提高安全性。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号