我正在使用ssh连接到我的ubuntu服务器。我使用命令启动编码程序。但是,似乎当我的sshsession关闭时(因为我是在一台休眠的笔记本电脑上启动它的)。有没有办法避免这种情况(当然,防止我的笔记本电脑休眠不是永久的解决方案)。 最佳答案 用nohup运行你的命令或使用screennohup当您的程序生成一些日志输出时更好,因为它被转发到文件然后您可以检查它,但是使用屏幕您可以分离sshsession并且当您再次登录时您可以恢复您的工作空间。对于编码,我将使用nohup。它更容易,你可能在后台运行它,所以你真的不需要分离
我自己尝试过,但是脚本登录到远程机器后,脚本停止了,这是可以理解的,因为远程机器不知道脚本,但是可以吗?谢谢 最佳答案 试试这里的文档sshuser@remote当您说“继续在那里做事”时,您的意思可能是与远程session进行简单的交互,然后:expect-c'spawnsshuser@host;interact' 关于linux-是否可以创建一个BASH脚本,它将ssh连接到远程机器并继续在那里做事?,我们在StackOverflow上找到一个类似的问题:
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我正在尝试设置一个别名,以从我的本地盒子进入我们的主服务器,然后进入一个内部盒子。我正在设置RSAkey以加快速度,但如果我可以将整
我在远程服务器上发出以下命令时遇到问题。|awk'{print$1}'似乎对输出没有任何影响。我是否错误地转义了引号字符?更糟糕的是,这两个命令实际上是通过python脚本提交的……因此使转义更加困惑……在本地服务器上:sshremote.server.com"find/root/directory-typef-execmd5sum{}+|awk'{print$1}'"在远程服务器上:find/root/directory-typef-execmd5sum{}+|awk'{print$1}' 最佳答案 让我们问shellcheck:
我需要从100个远程服务器收集用户信息。我们有用于身份验证的公钥/私钥基础设施,并且我配置了ssh-agent命令来转发key,这意味着我可以在没有密码提示的情况下登录任何服务器(自动登录)。现在我想在所有服务器上运行一个脚本来收集用户信息(我们在所有服务器上有多少用户帐户)。这是我收集用户信息的脚本。#!/bin/bash_l="/etc/login.defs"_p="/etc/passwd"##getminiUIDlimit##l=$(grep"^UID_MIN"$_l)##getmaxUIDlimit##l1=$(grep"^UID_MAX"$_l)awk-F':'-v"min=
我正在尝试通过ssh将变量的内容重定向到文件。喜欢:ssh$MachineIPecho$CM_Config>$mName/CM_CONFIG其中$CM_Config是我主机中包含多行的局部变量,$mName/CM_CONFIG位于$MachineIP假设我的ssh配置正确,我应该如何将本地变量重定向到远程文件。提前致谢 最佳答案 您必须用双引号将整个命令引起来ssh$MachineIP"echo$CM_Config>$mName/CM_CONFIG"这允许变量被本地shell替换并在远程主机上完成重定向。
我正在使用EC2实例运行大型作业,我估计需要大约24小时才能完成。我遇到了此处描述的相同问题sshbrokenpipeec2我遵循了上面帖子中的建议/解决方案,在我的sshsessionshell中,我通过以下命令启动了我的python程序:nohuppythonmyapplication.py>myprogram.out2>myprogram.err一旦我这样做了,连接保持完整的时间比我不使用nohup的时间长,但它最终因brokenpipeerror而失败,我又回到了原点一。进程“pythonmyapplication.py”因此终止。关于正在发生的事情以及我可以做些什么来防止这种
我试图在Emacs中通过ssh连接到服务器但无法:C-xC-f/ssh:user@1.2.3.4Emacs中的错误是“主机名不能与ssh匹配”我做错了什么? 最佳答案 您没有使用正确的TRAMP文件名。尝试C-xC-f/ssh:user@1.2.3.4:请参阅尾随的冒号。 关于linux-在emacs中"hostnamemustnotmatchssh",我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/
这个命令有效ssh-twww.foo.com'sudols-l'我立即被要求输入密码,输入后我得到目录内容如果我尝试通过管道传输此命令,它会失败-我从来没有被问到我的密码,所以我永远不会得到任何内容。ssh-twww.foo.com'sudols-l'|grep'foo'这是一个基本示例,我知道我可以在我的“ls”命令中通过管道/grep输出。对于我的应用程序,我需要通过我主机上的程序来传输输出。 最佳答案 为了不被要求输入密码来发出sudo命令,您需要在/etc/sudoers中有一个条目(或者更好的是,在/etc/sudoers
关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我现在在我拥有的位于linux.us的服务器上成功运行了一个php脚本。我拥有另一台位于linux.de的服务器,它没有apache/php服务。我可以将第二个盒子用作ssh隧道或代理或端口反弹或其他东西,以便我可以从第一个盒子隐藏我的ip吗?如何?我已经有pbnc安装在第二个盒子里,但我不知道这是否可以实现?我已经知道如何使用Windows和Putty完成此操作,但如何通过Linux终端实现。