温馨提示×

ubuntu ssh远程执行命令方法

小樊
35
2025-12-06 09:03:29
栏目: 智能运维

在Ubuntu系统中,通过SSH远程执行命令是一种常见的操作。以下是详细的步骤和示例:

1. 安装SSH客户端

首先,确保你的本地机器上安装了SSH客户端。大多数Linux发行版和macOS都默认安装了SSH客户端。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install openssh-client

2. 生成SSH密钥对(可选但推荐)

为了提高安全性,建议使用SSH密钥对进行身份验证,而不是密码。以下是生成SSH密钥对的步骤:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按照提示操作,通常会生成两个文件:~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。

3. 将公钥复制到远程服务器

使用ssh-copy-id命令将公钥复制到远程服务器:

ssh-copy-id username@remote_host

其中,username是远程服务器的用户名,remote_host是远程服务器的IP地址或域名。执行该命令后,系统会提示你输入远程服务器的密码,输入正确密码后,公钥就会被添加到远程服务器的~/.ssh/authorized_keys文件中。

4. 使用SSH远程执行命令

现在,你可以使用SSH远程执行命令了。以下是一些常用的命令示例:

基本命令

ssh username@remote_host "command_to_run"

例如,要在远程服务器上列出当前目录的文件:

ssh username@remote_host "ls -l"

后台执行命令

如果你想在远程服务器上后台执行命令,可以使用nohup&

ssh username@remote_host "nohup command_to_run &"

例如,要在远程服务器上后台运行一个Python脚本:

ssh username@remote_host "nohup python3 script.py &"

保持SSH连接并执行多个命令

如果你想在一次SSH连接中执行多个命令,可以使用分号;或双与号&&

ssh username@remote_host "command1; command2; command3"

或者:

ssh username@remote_host "command1 && command2 && command3"

5. 使用SSH配置文件(可选)

为了简化SSH连接,可以在本地机器上创建一个SSH配置文件~/.ssh/config,并添加远程服务器的配置信息:

Host remote_host
    HostName remote_host_ip_or_domain
    User username
    IdentityFile ~/.ssh/id_rsa

之后,你可以直接使用别名连接远程服务器:

ssh remote_host

6. 使用SSH隧道(可选)

如果你需要通过SSH隧道访问其他服务,可以使用-L选项创建本地端口转发:

ssh -L local_port:remote_host:remote_port username@remote_host

例如,将本地端口8080转发到远程服务器的80端口:

ssh -L 8080:localhost:80 username@remote_host

这样,你就可以通过访问localhost:8080来访问远程服务器的80端口服务。

通过以上步骤,你可以在Ubuntu系统中方便地使用SSH远程执行命令。

0