这里有一个奇怪的问题,但我正在 Linux 服务器上使用 python 聊天服务器/客户端组合。目前,如果我这样做:
$: cd /path/to/chat/server
$: sudo python ChatServer_Listen.py
Run Code Online (Sandbox Code Playgroud)
这将启动 python 应用程序运行循环,服务器侦听传入的 TCP 连接。
我的问题是,如果我关闭终端窗口,ssh 会话将退出,python 应用程序停止运行,并且客户端无法再连接。我宁愿不在本地 24/7 全天候运行终端实例。我可以将此 Python 应用程序设置为可以在 Linux 后台运行的应用程序吗?如果是这样,如何?理想情况下,它有点像 Apache,它只是作为服务运行。
谢谢你的协助!
我在 FreeBSD 上。本质上,我正在尝试将 php 脚本(由 apache 运行)ssh 连接到另一台机器。我遇到了没有人没有 .ssh 配置文件的问题,因此出现错误:
无法创建目录“/不存在/.ssh”。主机密钥验证失败。
有没有办法解决这个问题?如果您可以在没有 root 访问权限的情况下执行此操作,则奖励积分,因此我不需要向我的网络托管公司支付费用。
谢谢。
我可以访问大量不同的 ssh 帐户,我可以想象有数百个,我在不同场合使用这些帐户。其中一些是个人的,其中一些是我从客户那里得到的并且是共享的,而且很多都是暂时的。为一次使用而创建,一段时间后将自动删除。
现在我的问题是我使用了两个 .dircolors,一个浅色和一个深色主题。我非常喜欢这个设置,但这意味着每次我 ssh 到服务器时都复制一个新的 .dircolors,并且在共享帐户上偶尔会惹恼其他人。我尝试修改我的 ssh 脚本以允许我使用我的本地 LS_COLORS,但是我遇到了一些问题。
如果我使用:
ssh -t vps2 'export LS_COLORS="'$LS_COLORS'"; exec /bin/bash --noprofile --norc'
它有效,但不完全可用,因为它忽略了所有系统默认信息。
如果我使用:
ssh -t vps2 'export LS_COLORS="'$LS_COLORS'"; exec /bin/bash'
它不起作用,因为 bash 通过 .profile 并加载不同的 LS_COLORS。
关于如何加载默认 .bash_profile/.bashrc 并拥有自己的 LS_COLORS 的任何建议?
我在运行 Ubuntu 12.04 的服务器上遇到了问题,我正在尝试设置远程连接,以便我可以在外地工作时访问服务器。我已经安装了 SSH 服务器和所有这些东西,并将默认端口从 22 重新分配到 3399。
来自任何操作系统的本地连接都可以连接到 192.168... 地址,但我绝对无法连接到实际 IP 地址。
我相信我的配置是正确的,我会附上它。如果我在配置中做错了什么,请告诉我,我会对其进行更改。
老实说,我认为我的 ISP 提供的路由器很糟糕,尽管转发了 ssh 端口,但它可能会阻止任何入站流量。有什么我可以尝试验证的吗?当我通过我们的静态 IP 连接时,/var/log/auth 没有显示任何错误。我已经包含了下面未注释的所有值:(sshd_config)
Port 3399
ListenAddress 0.0.0.0
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
UseDNS no
RSAAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication yes
GSSAPIAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv …Run Code Online (Sandbox Code Playgroud) 这还没有发生在我身上。
但让我们假设以下场景:
我将我的公钥复制到服务器,然后禁用 ssh 的密码验证。然后,不知什么原因,服务器上的公钥被破坏,我无法再登录,因为我关闭了密码验证。
我有哪些选项可以重新获得对该服务器的访问权限?
总结:为什么会失败
$ ssh foo 'R --version | head -n 1'
bash: R: command not found
Run Code Online (Sandbox Code Playgroud)
但这成功了
$ ssh foo 'grep -nHe 'bashrc' ~/.bash_profile'
/home/me/.bash_profile:3:# source the users .bashrc if it exists
/home/me/.bash_profile:4:if [ -f "${HOME}/.bashrc" ] ; then
/home/me/.bash_profile:5: source "${HOME}/.bashrc"
$ ssh foo 'grep -nHe "\WR\W" ~/.bashrc'
/home/me/.bashrc:118:alias R='/share/linux86_64/bin/R'
$ ssh foo '/share/linux86_64/bin/R --version | head -n 1'
R version 2.14.1 (2011-12-22)
Run Code Online (Sandbox Code Playgroud)
? 细节:
我是 2 个集群的(无根)用户。一个使用环境模块,因此该集群上的任何给定服务器都可以(通过module add)提供几乎相同的资源。不幸的是,我也必须在另一个集群上工作,它有单独管理的服务器,所以我养成了这样做的习惯,例如,
EXEC_NAME='whatever'
for S in 'foo' 'bar' 'baz' ; do …Run Code Online (Sandbox Code Playgroud) 目前,我正在使用以下手动过程将我的 PHP 网站从登台部署到生产:
整个过程非常复杂,大约需要 5-10 分钟,我每次对网站进行更改时都必须这样做,因此它变成了一件苦差事。
现在有没有办法使用一些脚本工具来自动化这个过程?或者是否有一个很好的部署工具,人们可以使用它来完成所有这些工作?我的临时和生产机器是基于 Ubuntu 12.04 服务器的,所以我可能可以使用 bash 脚本来完成一些工作。
我可以看到到目前为止可以进行的一些改进是:
我工作过的一家公司使用Fabric 命令行工具来自动化部署和做这种事情。但是,这是一个不错的选择还是有更好的工具?
目前,我正在尝试使用 Vim 的内置 netrw 插件编辑远程服务器上的文件。我可以使用如下命令通过 SSH 连接到我的 Amazon EC2 服务器:
ssh -i <keyfile> bitname@<ec2-address>
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够使用我自己的 Vim 配置,并且一直在尝试像这样使用 scp:
:e scp://user@<ec2-address>//
Run Code Online (Sandbox Code Playgroud)
但是如果没有参数来输入我的密钥文件,我会收到一个权限被拒绝(公钥)错误。
是否有参数可用于输入我的密钥文件或我忽略的其他解决方案?
提前致谢,
我有一个微型 Amazon 实例,我想用它进行测试,在标题之前一切都很好。如果我在 PuTTy 中设置了所有信息,打开它并运行“xclock”,一切都会完美运行,并在我本地桌面上的 Xming 上打开。但是,如果我跑
ssh xxxxxxx.amazonaws.com xclock
Run Code Online (Sandbox Code Playgroud)
我得到
Error: Can't open display:
Run Code Online (Sandbox Code Playgroud)
如果我运行
ssh xxxxxxx.amazonaws.com -X DISPLAY=localhost:0:0 xclock
ssh xxxxxxx.amazonaws.com -Y DISPLAY=localhost:0:0 xclock
Run Code Online (Sandbox Code Playgroud)
我再次得到同样的结果,但只是在大约 30 秒的延迟之后。
在 Windows 中的 .ssh/config 中,我确实有
ForwardX11 yes
Run Code Online (Sandbox Code Playgroud)
设置,我真的想不出更多的东西来让它工作。PuTTy 运行良好,无论我在命令行上做什么,我都没有任何乐趣,这让我发疯。
我什至可以看到 PuTTy 在某处运行的命令,看看它是否在做一些额外的魔术?
我在 Windows 中运行的 ssh 是 MinGW32 的。
如果可以的话,我通常不会使用 SSH,但是如果我必须这样做,我当然会这样做,而且我似乎已经这样做了多年,但仍然对这些不同的术语感到有些困惑......来自我的基础研究,这是我的理解,有人可以验证/纠正吗?
另外两个问题:
编辑...不是 100% 相信我上面问题的结构...请注意,上面的定义在一定程度上有点偏离,请参阅下面的答案以获得更好的定义