在 CentOS 系统中,可以通过 SSH(Secure Shell)进行远程命令执行。以下是使用 SSH 进行远程命令执行的步骤:
首先,确保 CentOS 系统上安装了 OpenSSH 服务器。如果没有安装,可以使用以下命令进行安装:
sudo yum install openssh-server
安装完成后,启动 SSH 服务并设置为开机自启:
sudo systemctl start sshd
sudo systemctl enable sshd
确保防火墙允许 SSH 连接。CentOS 7 默认使用 firewalld,可以使用以下命令开放 SSH 端口(默认端口 22):
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
确保你知道要连接的远程服务器的 IP 地址。
你可以使用以下命令通过 SSH 连接到远程服务器并执行命令:
ssh username@remote_ip_address 'command'
例如,要在远程服务器上列出当前目录下的文件,可以使用:
ssh username@remote_ip_address 'ls -l'
为了提高安全性,可以使用 SSH 密钥认证而不是密码认证。以下是设置 SSH 密钥认证的步骤:
在本地机器上生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096
按照提示操作,生成的密钥对通常位于 ~/.ssh/id_rsa
(私钥)和 ~/.ssh/id_rsa.pub
(公钥)。
使用 ssh-copy-id
命令将公钥复制到远程服务器:
ssh-copy-id username@remote_ip_address
按照提示输入远程服务器的密码。
现在可以使用 SSH 密钥认证连接到远程服务器:
ssh username@remote_ip_address
为了简化连接过程,可以在本地机器的 ~/.ssh/config
文件中配置 SSH 连接信息。例如:
Host remote_server
HostName remote_ip_address
User username
IdentityFile ~/.ssh/id_rsa
然后可以直接使用以下命令连接:
ssh remote_server
通过以上步骤,你可以在 CentOS 系统中使用 SSH 进行远程命令执行。