我使用运行的 bash 脚本
/usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@34.324.234.23
Run Code Online (Sandbox Code Playgroud)
但是,当我运行 bash 脚本时,它会等待.. 我看到连接出现但脚本没有退出.. 就像它在等待 SSH 进程完成一样,因为当我手动杀死它时,bash 脚本完成为好。
任何想法如何解决这个问题?
更新: 我已经编写了这个脚本..cron 进程是一个变成僵尸的进程.. 实际的脚本运行得很好,抱歉,使用 ps -auxf 我得到:
root 597 0.0 0.7 2372 912 ? Ss Jul12 0:00 cron
root 2595 0.0 0.8 2552 1064 ? S 02:09 0:00 \_ CRON
1001 2597 0.0 0.0 0 0 ? Zs 02:09 0:00 \_ [sh] <defunct>
1001 2603 0.0 0.0 0 0 ? Z 02:09 0:00 \_ [cron] <defunct>
Run Code Online (Sandbox Code Playgroud)
当我杀死 ssh 时,不复存在的人消失了..为什么他们会不复存在?
-v最大限制为 3-4 控制ssh命令的详细程度。
我在代理后面,我有 ssh 设置来使用代理,所以可能是这种情况,但我注意到
ssh foo@domain.com -vvvv比 更可靠ssh foo@domain.com。叫我疯了,但如果我不指定详细程度,有时它只是无法连接。如果我确实指定了详细程度,它将提供更多信息并进行连接。
这种行为有什么解释吗?对我来说,这是非常一致的行为。冗长是否以某种方式改变了 ssh 连接和返回数据的方式的变量,从而迫使它工作?
在本地 Xterm 中使用 Cygwin/X11 Launch 命令进行 SSH:
xterm -e ssh -Y -v -l MyUser myserver.mydomain.com &
登录后,我跑了
setenv 显示 myclient.mydomain.com:0.0
当我尝试启动 Xterm 时,我得到:
Xlib:服务器拒绝连接到“myclient.mydomain.com:0.0”
Xlib:未指定协议xterm Xt 错误:无法打开显示:myclient.mydomain.com:0.0
在另一台服务器上,我在不运行 setenv 的情况下启动新的 xterm 窗口没有问题。
该服务器上的“echo $DISPLAY”返回“localhost:11.0”
如果我尝试在另一台服务器上使用它,我会得到以下信息:
$ setenv DISPLAY localhost:11.0
$ xterm
xterm Xt 错误:无法打开显示:localhost:11.0
我想我错过了一些非常基本的东西,但我不确定它是什么。
编辑:
尝试不设置 $DISPLAY:
这是结果
$ echo $DISPLAY
DISPLAY:未定义的变量。
$ xlogo
错误:无法打开显示:
还是行不通 :-(
再次编辑:以上是直接登录。在尝试运行 xlogo 之前,我没有删除 $DISPLAY 或更改它
我有一个非常简单的任务叫做 update_feeds:
desc "Update feeds"
task :update_feeds do
run "cd #{release_path}"
run "script/console production"
run "FeedEntry.update_all"
end
Run Code Online (Sandbox Code Playgroud)
每当我尝试运行此任务时,都会收到以下消息:
[out :: mysite.com] sh: script/console: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我想这是因为我不在正确的目录中,但正在尝试
run "cd ~/user/mysite.com/current"
Run Code Online (Sandbox Code Playgroud)
代替
run "cd #{release_path}"
Run Code Online (Sandbox Code Playgroud)
也失败了。手动(通过 ssh)运行完全相同的命令非常有效。为什么 capistrano 不能正确cd(更改目录)到站点目录来运行命令?
谢谢!
我ssh经常使用并已ssh-agent设置。
如何使用ssh密钥gpg加密文件?
编辑:这似乎是不可能的。为什么?ssh可以加密流量,那么为什么不能加密文件呢?
我可以设置吗
我现在不想给用户纯 ssh 帐户。
任何其他上传、下载、删除文件的安全方式也很好。nginx可用而不是 apache2。
我在我的服务器上配置了 ssh,有时我必须在它上面运行一些图形应用程序。当我与-X选项连接时,它工作得很好。我可以运行,例如google-chrome。但是,如果我将用户更改为sudo -i -u other_user,则无法以该用户身份运行 GUI 应用程序。
我认为它与环境和显示有关,但不知道该怎么做。我尝试添加-E,但随后收到错误消息,提示我无法将其与-i. 如何以其他用户身份通过 ssh 运行 GUI 应用程序?
我们的系统上有一个共享帐户,它有登录 shell tcsh。我更喜欢 bash,并希望在我从我的个人帐户 ssh 进入时让它运行 bash,但将 tcsh 留给使用该帐户的任何其他人。我知道我可以设置一些东西来反映我 ssh 的 IP,但是有没有任何(笨拙的或非笨拙的)方法可以根据运行 ssh 的用户来做到这一点?或者一种运行 ssh 的方法来让它给我一个交互式 bash 会话?
嘿伙计们,我在通过 ssh 连接到 Red Hat Enterprise linux 服务器时遇到问题,出现以下错误:“网络错误:连接超时”
服务器位于我应该可以访问的 VLAN 上,我可以 ping 它但我无法通过腻子或 WinSCP 连接到它,它侦听默认端口 22,我有一个动态 IP,每次我必须连接时到服务器,一位拥有静态 IP 的同事登录到它并将我的 IP 添加到 hosts.allow 文件,它起初工作正常,但最近它停止工作。我确定这不是 hosts.allow 问题,因为当我的 ip 不被允许时,我收到了不同的错误消息,例如:“服务器连接意外关闭”并试图在 5 秒内重新连接。现在错误是不同的,我认为它必须对网络的防火墙做些什么,我只是不明白为什么我以前可以使用不同的 IP 登录,现在我不能。