linux ssh远程登录调用脚本
时间: 2023-07-29 07:07:40 浏览: 55
可以通过在远程机器上的.ssh目录下创建一个authorized_keys文件,并将本地机器的公钥复制到该文件中,以实现免密登录。然后可以通过在本地机器上使用ssh命令连接到远程机器上,并在连接命令中调用需要执行的脚本文件,例如:
```
ssh username@remote_host 'bash -s' < local_script.sh
```
其中,username为远程机器上的用户名,remote_host为远程机器的IP地址或域名,local_script.sh为需要执行的本地脚本文件名。在连接命令中使用单引号包裹需要执行的命令,然后使用<符号将本地脚本文件输入到该命令中。这样,当ssh连接建立后,远程机器就会执行本地脚本文件中的命令。
相关问题
linux跨服务器调用shell脚本
可以使用 SSH(Secure Shell)协议在 Linux 服务器之间进行远程调用。以下是一个简单的示例:
1. 在本地 Linux 服务器上创建一个 shell 脚本(比如 test.sh),并在其中编写你想要执行的命令。
2. 确保你已经在远程服务器上配置了 SSH 服务,并且已经设置了免密登录。如果没有,请先进行相关设置。
3. 在本地 Linux 服务器上使用以下命令连接到远程服务器:
```
ssh username@remote_server_ip 'bash -s' < test.sh
```
其中,username 是你在远程服务器上的用户名,remote_server_ip 是远程服务器的 IP 地址,test.sh 是你在本地服务器上创建的 shell 脚本。
4. 执行上述命令后,你就可以在远程服务器上执行 test.sh 中编写的命令了。
注意:在使用 SSH 远程调用时,需要注意安全性和权限问题,尽量避免使用 root 用户进行操作。
linux调用远程主机上的shell
要在本地主机上调用远程主机上的shell,可以使用SSH协议。
首先,需要在本地主机上安装SSH客户端。在Linux系统上,大多数发行版都已经默认安装了OpenSSH客户端,如果没有安装,可以使用以下命令安装:
```
sudo apt-get install openssh-client # Debian/Ubuntu
sudo yum install openssh-clients # CentOS/RHEL
```
然后,在本地终端中输入以下命令:
```
ssh user@remote_host "command"
```
其中,`user`是远程主机上的用户名,`remote_host`是远程主机的IP地址或域名,`command`是要在远程主机上执行的命令或脚本。如果要执行交互式的shell,可以省略`command`参数。
例如,要在远程主机上执行`ls`命令,可以输入以下命令:
```
ssh user@remote_host "ls"
```
如果需要输入密码才能连接远程主机,可以使用`-p`选项指定端口号,例如:
```
ssh -p 2222 user@remote_host "ls"
```
其中,`2222`是远程主机的SSH端口号。
另外,如果需要在本地主机上使用公钥认证方式来连接远程主机,可以在本地主机上生成公钥和私钥,并将公钥复制到远程主机上。具体步骤可以参考SSH的使用文档。