标签: ssh

Amazon EC2 实例之间通信的最佳实践是什么?

我一直在为即将到来的项目设置 Amazon EC2 实例。它们都是微型实例,运行 64 位 Ubuntu Server。这是我到目前为止的设置:

  • 网络服务器——Apache
  • 数据库服务器——MySQL
  • 开发服务器——Apache & MySQL
  • 文件服务器-- SVN & Bacula(备份到 S3 存储桶)

目前,只有一台 Web 服务器,但最终将会有更多。

我的第一个问题是,Amazon EC2 实例之间最好、最安全的通信方式是什么?目前我正在使用 SSH,这是最好的方法吗?

据亚马逊称,实例之间使用弹性 IP 地址进行通信将被收取数据传输费用。但是,使用私有 IP 地址进行通信的实例可以免费进行。不幸的是,如果实例停止并重新启动,私有 IP 会发生变化。

所以这是我的第二个问题,如果 Amazon 实例的私有 IP 不是静态的,您如何利用它们?

我知道这些实例可能不会非常频繁地停止和启动,但是,如果 IP 地址在各种配置文件中,那么必须遍历它们并更改它会很痛苦。

我主要关心 Web 服务器,它们需要访问数据库服务器和文件服务器,它们在执行备份时需要访问所有实例。

注意: 我以前从未使用过 Bacula 并且我还没有设置它,但我假设它需要客户端的 IP 地址来备份它们。

networking security linux ssh amazon-ec2

43
推荐指数
2
解决办法
4万
查看次数

服务器升级期间 SSH 连接丢失 - 如何重新连接到进程?

所以,我正在执行从 11.04 到 11.10 的 Ubuntu Server 升级。

我在后台忘记了它,我的SSH 客户端超时并断开连接(Windows 上的腻子,请看图)。我终端上的最后一件事是关于保留旧配置等的问题。

当我重新登录到服务器时,aptitude 文件被另一个进程锁定,所以我假设这个升级进程在那里等待我的输入。

我如何与此过程交互并继续升级?如果可能的话。

谢谢

ubuntu ssh

43
推荐指数
2
解决办法
3万
查看次数

管理 ssh 密钥的最佳系统?

我有几台客户端计算机(即笔记本电脑、台式机等),我连接到我管理的几台服务器计算机,并通过 SSH 登录到它们。我可以想象几种有意义的 ssh 密钥管理方案,我很好奇其他人的做法。

选项 1:一个全局公钥/私钥对。

我会生成一个公钥/私钥对,并将私钥放在每台客户端机器上,将公钥放在每台服务器机器上。

选项 2:每台服务器机器一个密钥对。

我会在每台服务器机器上生成一个密钥对,并将每个私钥放在我的客户端机器上。

选项 3:每台客户端机器一个密钥对。

每台客户端机器都有一个唯一的私钥,每台服务器机器都有我想要连接的每台客户端机器的公钥。

选项 4:每个客户端/服务器对一个密钥对

完全落伍了?

这些中哪个最好?还有其他选择吗?您使用什么标准来评估正确的配置?

ssh authentication

42
推荐指数
3
解决办法
2万
查看次数

是否有基于名称的虚拟主机 SSH 反向代理?

我越来越喜欢我们开发环境中的 HTTP 反向代理,并发现基于 DNS 的虚拟主机反向代理非常有用。在防火墙上只打开一个端口(和标准端口)使管理变得更加容易。

我想找到类似于 SSH 连接的东西,但运气不佳。我不想简单地使用 SSH 隧道,因为这需要打开标准以外的端口范围。有什么东西可以做到这一点吗?

HAProxy 能做到吗?

ssh reverse-proxy

42
推荐指数
3
解决办法
3万
查看次数

SSH 公钥末尾的等号 = 或 == 是什么意思?

我只是注意到我的authorized_keys 中的大多数ssh pubkeys 以== 或= 结尾

例如

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9ZUwxXn2HZAAUswoaV8t2sQPvolVWDI053f0giNN154Zyi9FtWJKvyLHXoxW4IzFxgx+m6EYqXG/XCtfamLhwvGZv9FXkgQKeF6HJv/rjyKRBHPRyX0vV4S9uQU+xQV7f0Ock3urSzbUyoCgngA8Ax6AkYGmMTLLjx1HOBO/TJ477aysWt4IAg1gviT50I4xOYiHT4vC67czoDTnPl0UfKQJaM0+6WrneK7FJbd/8CAX7P7IxOhj1OxVbnEoh9FvecLbSDdOx/LF+kJcav/LThuoG7NR+Y+rS9lNkta3/KPi3IBMPum+bZpXJF7fkHl9Kx/iOMitT7KjNW/mty74xw== foo@bar
Run Code Online (Sandbox Code Playgroud)

但是今天我看到了一个结尾没有等号的公钥。我还注意到,在公钥中出现 = 的唯一地方是最后,而不会出现在其他任何地方。

现在我只是好奇公钥末尾的零、一个或两个等号是什么意思?

ssh public-key ssh-keys

42
推荐指数
1
解决办法
4万
查看次数

ssh 登录缓慢 - org.freedesktop.login1 的激活超时

在我的一台服务器上,我注意到 SSH 登录确实有延迟。

使用 ssh -vvv 选项连接延迟发生在 debug1: Entering interactive session.

连接摘录:

debug1: Authentication succeeded (publickey).
Authenticated to IP_REDACTED ([IP_REDACTED]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
Run Code Online (Sandbox Code Playgroud)

使用此处概述的方法我生成了 strace 输出并注意到14:09:53.676004 ppoll([{fd=5, events=POLLIN}], 1, {24, 999645000}, NULL, 8) …

debian ssh pam systemd

42
推荐指数
1
解决办法
3万
查看次数

如何通过附加服务器启用 SSH X11 转发?

我有主机 A、B 和 C。从主机 AI 只能通过 ssh 访问 B。从 BI 可以访问 C。我希望能够在 C 上运行 X11 程序并将显示转发到 A。

我试过这个:

A$ ssh -XB
B$ ssh -XC
C$ xclock
错误:无法打开显示:

但它不起作用。

linux ssh x11

41
推荐指数
4
解决办法
8万
查看次数

我如何通过 sshfs sudo?

在我的本地主机上,alpha我有一个foo通过 sshfs 映射到主机的目录,bravo如下所示:

$ sshfs charlie@bravo:/home/charlie ~/foo
Run Code Online (Sandbox Code Playgroud)

但是,在主机上bravo还有另一个用户 delta,我想sudo /bin/su成为它,以便我可以在bravo:/home/delta. delta可能无法通过 ssh 登录;由于我无法改变的原因,一旦你在机器上,你只能 sudo 到 delta。

通常我会 ssh 进入bravo,然后 sudo 到 delta,但我想知道当我通过 ssh 安装了查理的主目录时,是否有任何方法可以做到这一点。

ssh sudo sshfs

41
推荐指数
3
解决办法
2万
查看次数

处理 SSH 主机验证错误的最流畅的工作流程?

这是一个我们都面临的简单问题,可能无需多想就手动解决。

随着服务器更改、重新配置或重新分配 IP 地址,我们会收到以下 SSH 主机验证消息。我对简化工作流程以解决这些 ssh 识别错误很感兴趣。

鉴于以下消息,我通常会vi /root/.ssh/known_hosts +434删除 ( dd) 违规行。

我已经看到其他组织的开发人员/用户在看到此消息时出于沮丧而删除了他们的整个 known_hosts文件。虽然我没有走那么远,但我知道有一种更优雅的方法来处理这个问题。

提示?

[root@xt ~]# ssh las-db1

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is …
Run Code Online (Sandbox Code Playgroud)

linux ssh command-line-interface ssh-keys

41
推荐指数
2
解决办法
7334
查看次数

SSH 中的 ServerAliveCountMax

SSH 中的 ServerAliveCountMax 实际上是做什么的?

我试图确保当我通过 SSH 连接到我的服务器时,连接保持打开状态很长一段时间,而不是连接在短时间内不活动后死亡。这是例子

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 2
Run Code Online (Sandbox Code Playgroud)

我从一个来源听说,只要服务器收到该响应,上述设置将始终每 60 秒向服务器发送一次响应。但是,如果由于某种原因响应没有通过服务器,它将尝试发送另一条消息。如果该消息也失败,则它将关闭连接。(我觉得这是错误的)

然而,第二个第三个来源说的是不同的。他们声称如果有一段时间不活动,将每 60 秒向服务器发送一条消息,但它只会发送 2 个请求,然后关闭连接。

那么 ServerAliveCountMax 究竟是做什么的呢?

ssh

41
推荐指数
2
解决办法
4万
查看次数