我的 MacBook 上有一个.ssh
用于连接到远程 Ubuntu 服务器的配置文件。配置文件如下所示:
Host remote_computer
HostName 1.2.3.4
Port 22
User remote_username
IdentityFile ~/.ssh/id_rsa
RemoteCommand echo "Hello, World!"
当我尝试连接时会发生以下情况:
local_computer:/ local_username$ ssh remote_computer
Hello, World!
local_computer:/ local_username$
运行RemoteCommand
成功,但连接随后立即关闭。我尝试的任何操作都会发生这种情况RemoteCommand
,但如果我RemoteCommand
从配置文件中删除,连接将保持打开状态:
local_computer:/ local_username$ ssh remote_computer
remote_username@remote_computer:~$
为什么运行成功后连接会关闭 RemoteCommand
从配置文件中,我能做些什么来防止这种情况?
答案1
强制 TTY 并进入 shell:
Host remote_computer
HostName 1.2.3.4
Port 22
User remote_username
IdentityFile ~/.ssh/id_rsa
RemoteCommand echo "Hello, World!" && bash
RequestTTY force