【发布时间】:2021-11-05 22:00:49
【问题描述】:
我正在尝试连接到 GCP 实例,该实例在每次重新启动时都会更改其公共 IP。要动态获取 IP,我使用此 gcloud 命令:
gcloud compute instances describe <vm-name> --zone europe-west --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
然后我有这个ssh config 文件:
Host MyHost
ProxyCommand ~/.ssh/vm-connect
它指向一个脚本vm-connect,内容如下
#!/bin/bash
get_host() {
gcloud compute instances describe <vm-name> --zone europe-west1-b --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
}
ssh minikf@$(get_host)
如果我只运行脚本,它会成功连接到 VM。但如果我运行ssh MyHost,它会给我:
Pseudo-terminal will not be allocated because stdin is not a terminal.
-bash: line 1: SSH-2.0-OpenSSH_8.2p1: command not found
【问题讨论】:
标签: ssh ssh-config