原创

如何在 Linux 中使用 SSH 远程连接

温馨提示:
本文最后更新于 2024年07月22日,已超过 255 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

如何在 Linux 中使用 SSH 远程连接

本文档将指导你如何在 Linux 系统上使用 SSH 远程连接到另一台设备。

1. 安装 SSH 客户端

大多数 Linux 发行版都默认安装了 SSH 客户端。可以使用以下命令检查是否已安装:

bash ssh -V

如果命令成功执行并显示版本信息,则说明已安装 SSH 客户端。如果没有,可以使用以下命令安装:

  • Debian/Ubuntu: sudo apt update && sudo apt install openssh-client
  • Fedora/CentOS/RHEL: sudo dnf install openssh-clients

2. 生成 SSH 密钥

SSH 密钥是一种用于身份验证的加密密钥对。你需要在本地机器上生成一对密钥。

bash ssh-keygen -t rsa -b 4096

  • -t rsa 指定使用 RSA 算法。
  • -b 4096 指定密钥长度为 4096 位。

在提示时,可以选择保存密钥的路径和密码。如果省略密码,则需要在连接时输入密码。

3. 添加公钥到远程服务器

将本地生成的公钥添加到远程服务器的 authorized_keys 文件中,以便允许使用该密钥进行无密码登录。

  • 找到公钥文件:默认情况下,公钥文件保存在 ~/.ssh/id_rsa.pub
  • 将公钥内容复制到剪贴板:cat ~/.ssh/id_rsa.pub | clip
  • 登录到远程服务器,使用以下命令添加公钥到 authorized_keys 文件:

bash sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4. 建立 SSH 连接

使用以下命令连接到远程服务器:

bash ssh username@remote_server_ip_address

  • username 是远程服务器的用户名。
  • remote_server_ip_address 是远程服务器的 IP 地址或域名。

如果之前设置了密码,则需要在提示时输入密码。如果没有设置密码,则可以直接登录。

5. 其他 SSH 命令

  • ssh -p 2222 username@remote_server_ip_address: 使用非默认端口 2222 连接。
  • ssh -i ~/.ssh/id_rsa username@remote_server_ip_address: 使用指定的私钥文件连接。
  • ssh -N username@remote_server_ip_address: 建立一个不交互的连接,例如用于端口转发。
  • scp local_file username@remote_server_ip_address:/remote_path: 将本地文件 local_file 复制到远程服务器的 remote_path 目录。

总结

本文档介绍了如何在 Linux 上使用 SSH 远程连接到其他设备的基本步骤。通过使用 SSH 密钥,可以实现安全的无密码登录,提高操作效率。

正文到此结束