📜  通过 ssh 远程执行命令 (1)

📅  最后修改于: 2023-12-03 14:58:02.671000             🧑  作者: Mango

通过 SSH 远程执行命令

在开发过程中,我们经常需要一些远程操作来查看服务器上的数据或执行远程命令。SSH 是一个可靠的远程操作协议,可以建立在加密连接上的终端会话。我们可以通过 SSH 连接到远程服务器并在终端上执行命令。

1. SSH 连接

首先,我们需要使用以下命令通过 SSH 连接到远程服务器:

ssh username@hostname

其中,username 是您的用户名,hostname 是服务器的 IP 地址或域名。

2. 远程执行命令

连接到远程服务器后,您可以在终端上执行任何命令。例如,要查看远程服务器上的文件列表,您可以输入以下命令:

ls

要在远程服务器上创建新文件夹,您可以输入以下命令:

mkdir folder_name

如果您想要一次执行多个命令,可以将这些命令放入一个脚本文件中,然后通过以下命令执行该脚本文件:

sh script_name.sh
3. 使用 SSH 密钥登录

每次连接到远程服务器时,您都需要输入密码。如果您希望自动登录到远程服务器,则可以使用 SSH 密钥登录。

SSH 密钥是一对公钥和私钥,您可以通过在本地计算机上生成密钥对来创建它们。要生成 SSH 密钥,请使用以下命令:

ssh-keygen

生成密钥对后,将公钥上传到远程服务器。您可以使用以下命令将公钥复制到服务器:

ssh-copy-id username@hostname

现在,您可以使用以下命令通过 SSH 密钥登录到远程服务器:

ssh -i ~/.ssh/keyname username@hostname
4. 使用 SSH 隧道

有时您需要从本地计算机访问远程服务器上的应用程序。在这种情况下,您可以使用 SSH 隧道将本地端口转发到远程服务器。

要创建 SSH 隧道,请使用以下命令:

ssh -L local_port:remote_host:remote_port username@hostname

其中,local_port 是本地计算机上要转发的端口,remote_host 是远程服务器上的 IP 地址或域名,remote_port 是要转发的远程端口。

总结

通过 SSH 远程执行命令可让您通过终端连接到远程服务器并执行命令。使用 SSH 密钥登录可自动登录到远程服务器,使用 SSH 隧道可将本地端口转发到远程服务器上。通过这些技术,您可以更轻松地管理远程服务器并执行必要的任务。