32. 常用shell之 ssh - 安全远程登录 的用法和衍生用法

发布时间:2023年12月20日

ssh(Secure Shell)是一个用于安全远程登录和数据通信的协议,广泛用于访问和管理网络上的服务器和其他计算机。以下是一些常见的 ssh 使用示例及其衍生用法:

基本用法

  1. 基本的远程登录:

    ssh username@hostname

    这个命令将通过 SSH 协议连接到 hostname 上的用户 username。将被提示输入用户的密码进行认证。

  2. 指定端口进行远程登录:

    ssh -p 2222 username@hostname

    使用 -p 参数指定一个非默认端口(SSH 默认端口为 22)进行连接。

  3. 使用密钥文件进行认证:

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

    使用 -i 参数指定一个私钥文件进行身份认证,这通常用于无密码登录。

高级用法

  1. 远程执行命令:

    ssh username@hostname 'command'

    这将在远程服务器上执行指定的 command

  2. 端口转发:

    ssh -L localPort:remoteHost:remotePort username@hostname

    使用 -L 参数设置本地端口转发。这会将本地机器上的 localPort 转发到 remoteHost:remotePort

  3. 动态端口转发(SOCKS 代理):

    ssh -D 1080 username@hostname

    使用 -D 参数创建一个 SOCKS 代理,可以用于安全地浏览网页。

  4. 保持 SSH 会话活跃:

    ssh -o ServerAliveInterval=60 username@hostname

    使用 -o 参数设置选项,如 ServerAliveInterval,以保持连接活跃。

衍生用法

  1. SSH 隧道:

    ssh -L 8080:internal.server:80 username@hostname

    这将创建一个 SSH 隧道,将本地机器的 8080 端口映射到 hostname 上的内部服务器的 80 端口。

  2. 使用 SSH 复制文件(scp):

    scp /path/to/localfile username@hostname:/path/to/remotefile

    scp 命令用于通过 SSH 协议安全地复制文件。

  3. 安全地传输文件(rsync over SSH):

    rsync -avz -e ssh /path/to/localdir username@hostname:/path/to/remotedir

    使用 rsync 结合 SSH 进行高效的文件同步。

  4. 通过 SSH 进行安全文件挂载(sshfs):

    sshfs username@hostname:/remote/directory /local/mountpoint

    sshfs 允许将远程文件系统挂载到本地目录。

  5. 多重跳转(SSH 代理跳转):

    ssh -J user1@host1 user2@host2

    使用 -J 参数实现通过 host1 连接到 host2

  6. SSH 键管理(ssh-add, ssh-agent):

    • ssh-add 用于向 ssh-agent 添加私钥,ssh-agent 用于管理 SSH 密钥,减少重复输入密码的需求。
  7. 使用 SSH 进行远程系统备份: 远程服务器的数据可以通过 rsync 结合 SSH 安全地备份到本地机器。

ssh 的用途非常广泛,从简单的远程访问到复杂的网络操作,都是网络管理员和系统管理员日常工作中不可或缺的工具。掌握 ssh 及其相关工具的使用是进行高效、安全网络管理的关键。

文章来源:https://blog.csdn.net/WQY867047910/article/details/135085557
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。