Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行ssh命令并保持连接_Ssh - Fatal编程技术网

运行ssh命令并保持连接

运行ssh命令并保持连接,ssh,Ssh,在访问远程终端之前,是否有执行命令的方法 当我输入此命令时: bash $>sshuser@server.com'是' ls命令在远程计算机上执行,但ssh退出,我无法在远程会话中继续 有没有办法保持联系?我问这个问题的原因是我想为ssh会话创建一个设置,而不必修改远程.bashrc文件。我会强制分配一个伪tty,然后在执行ls命令后运行bash: syzdek@host1$ ssh -t host2.example.com 'ls -l /dev/null; bash' -rwxrwxr

在访问远程终端之前,是否有执行命令的方法

当我输入此命令时:

bash
$>sshuser@server.com'是'

ls命令在远程计算机上执行,但ssh退出,我无法在远程会话中继续


有没有办法保持联系?我问这个问题的原因是我想为ssh会话创建一个设置,而不必修改远程.bashrc文件。

我会强制分配一个伪tty,然后在执行
ls
命令后运行bash:

syzdek@host1$ ssh -t host2.example.com 'ls -l /dev/null;   bash'
-rwxrwxrwx    1 root     other          27 Apr  1  2005 /dev/null
bash-4.1$ 

您可以尝试在bash的init文件上使用进程替代。在下面的示例中,我定义了一个函数
myfunc

myfunc () {
   echo "Running myfunc"
}

我将其转换为
中正确转义的一行,事实上,在我的情况下,我不能这样做,因为我的命令是用于设置的。如果我运行bash,我将丢失我所做的所有设置。您可以告诉我们您要运行的不是一般命令吗?我想创建一个bash函数,在反向隧道端口上运行netcat。我需要访问我的.bashrc,因此,我将其更改为:
ssh-tlocalhost'bash--init文件您知道是否可以将此命令添加到ssh配置文件中吗?事实上,每次通过ssh登录服务器时,我都希望运行此命令。您可以使用ssh配置中的
ProxyCommand
来执行此操作。我尝试了,但没有成功,但我不太了解手册页。
$ ssh -t localhost 'bash --init-file <( echo "myfunc() { echo \"Running myfunc\" ; }" )  '
Password:
bash-3.2$ myfunc
Running myfunc
bash-3.2$ exit