- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 AWS 上有一个 ubuntu 实例,我在服务器上运行 mongod。 mongod 已将绑定(bind) ip 设置为 0.0.0.0 并使用 netstat 进行了验证。
sudo netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1055/sshd
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1049/mongod
tcp6 0 0 :::22 :::* LISTEN 1055/sshd
我还在 AWS EC2 控制台上设置了安全组规则,以便允许来自端口 27017 上的公共(public) IP 的入站连接。我无法从笔记本电脑连接到 mongod (27017)。
telnet ec2-<ip-removed>.compute-1.amazonaws.com 27017 1 ↵
Trying <ip-removed>...
telnet: connect to address <ip-removed>: Operation timed out
但是我从我的笔记本电脑连接到端口 22 上的 ssh 没有问题
telnet ec2-<ip-removed>.compute-1.amazonaws.com 22 130 ↵
Trying <ip-removed>...
Connected to ec2-<ip-removed>.compute-1.amazonaws.com.
此设置一周前运行良好,突然我的笔记本电脑客户端拒绝连接到 mongo。我在端口 6800 上尝试了另一个服务,设置了入站规则并将绑定(bind) ip 设置为 0.0.0.0/32 它也无法连接。我没有设置其他规则,实例上也没有 iptables 或防火墙。
我也尝试过重启服务器,但没有成功。
也可以从服务器本身连接到 mongo
ubuntu@aws$ telnet localhost 27017
Trying 127.0.0.1...
Connected to localhost.
最佳答案
如评论中所述,通过实例上运行的 iptables 阻止了来自外部网络的端口访问。
我对 iptables/AWS 访问策略的方法是始终使用“开放”AWS 访问策略并使用 iptables 锁定所有内容。这样一来,控制访问就更接近于实例,并且不会因为将访问策略彼此分层而使事情过于复杂。
老实说,您的 mongod 实例甚至不应该位于 DMZ(可公开访问)中,您应该将 iptables 设置为仅允许从内部网络访问 mongod 实例。您可能有一个需要访问 mongod 的“应用程序服务器”,因此请公开访问应用程序服务器,而不是 mongod 实例。
这是在我的“docstore”实例之一上运行的 iptables 示例:
root@service-a-2.sn3.vpc3.example.com ~ # -> iptables -L -vn
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1419 15M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 /* 001 accept all to lo interface */
27M 4531M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 /* 005 accept related established rules */ state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- eth0 * 10.3.0.0/16 0.0.0.0/0 /* 015 accept internal icmp */ state NEW
74 4440 ACCEPT tcp -- eth0 * 10.3.0.0/16 0.0.0.0/0 multiport dports 22 /* 777 accepts ssh */ state NEW
420K 25M ACCEPT tcp -- eth0 * 10.3.0.0/16 0.0.0.0/0 multiport dports 27017 /* 777 allow mongo access */ state NEW
462K 28M ACCEPT tcp -- eth0 * 10.3.0.0/16 0.0.0.0/0 multiport dports 3306 /* 777 allow mysql access */ state NEW
656 28976 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 /* 999 drop all INPUT */
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 27M packets, 9639M bytes)
pkts bytes target prot opt in out source destination
请注意,我正在使用 CIDR(无类域间路由) block 来识别内部网络,这样您就不会陷入必须指定实际 IP 地址的困境。
关于linux - 无法连接到 22 (ssh) AWS 以外的任何端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34750874/
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
我错误地设置了 ssh key 的密码。 但是每次使用 key 时都要输入密码很烦人。 我想删除我的 key 的密码: $ ssh-keygen -p -f 但是,我担心 key 会被更改。 由于我
你好!我在连接到远程主机时遇到问题。我忘记了 ssh 密码,但我有 SSH key 的指纹。是否可以仅使用指纹进行连接? 最佳答案 不会。机器的指纹仅用于验证您正在连接您认为正在连接的机器。它是用于避
我有一个 Ubuntu 服务器 example.com 并且我已经通过 ssh 进入了它。但只有在我通过 ssh 进入它之后,我才意识到我打算执行 ssh -L 8000:localhost:9000
通过终端,我可以多次 SSH 连接到服务器: (客户端--->网关--->服务器1---->服务器2---) 但是现在要通过Java的JSch库来实现,怎么办呢?首先尝试了端口转发,但在终端上我没有这
在创建一个新的仓库(本地 + 远程)之后,我正在尝试推送提交。但是我遇到了 SSH key 的问题 在我的 ~/.ssh/config 中,我有一个 gitlab 条目定义为 Host MyRepoJ
我发现 ssh 和 ssh-keygen 有一种奇怪的行为:它们根本没有反应。 Cygwin 以管理员权限启动并正常运行。主机 192.168.1.1 已启动,我可以远程桌面到它: 当我尝试时: $
为什么eval语句返回 Illegal variable name $ eval "$(ssh-agent -s)" Illegal variable name. 最佳答案 请尝试$ eval "ss
我正在尝试通过以下命令从我的本地主机连接到远程主机。但是远程主机中有一个设置,我们登录后不久它会提示输入徽章 ID、密码和登录原因,因为它在 profile 中是这样编码的文件在 remote-hos
有时,我被迫在不稳定的互联网连接上使用 ssh。 ping some.doma.in PING some.doma.in (x.x.x.x): 56 data bytes Request timeou
This thread is a response to the titled question : Why ssh-agent doesn't forward my SSH certificate
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
因此,我在10.10.10.x子网中有一堆机器,基本上所有这些机器都以相同的方式配置。我将这些与我的10.10.11.x子网中的计算机区分开,后者具有不同的用途。 我希望能够输入“ssh 10.x”以
我不想在 vagrant box 上创建新的 SSH key 对,而是想重新使用主机上的 key 对,使用 agent forwarding 。我尝试过设置 config.ssh.forward_ag
我有一台服务器,可以通过ssh通过pubkey身份验证通过ssh访问: ssh "Host" -l "my identity" 这很好。但是,我无法在一个命令中使用我的私钥进行端口重定向和标识(这是我
创建一对 key 并通过 ssh-copy-id 将公钥发送到服务器后,我仍然无法在没有密码的情况下登录 ssh -v user@host 的输出 debug1:在/home/pumba/.ssh/k
我被困在 Permission denied (publickey) hell 中,试图将公钥复制到远程服务器,以便 Jenkins 可以在构建期间同步文件。 运行: sudo ssh-copy-id
我正在尝试通过我大学的代理服务器ssh到我们实验室的服务器之一。我们的目标是使用paramiko使其自动化,但我试图首先了解终端机级别中正在发生的事情。 我试过了 ssh -o ProxyComman
我在说明问题上有问题,我想通过SSH切换到我的Cisco交换机,但是我遇到了一些麻烦 我写了两个脚本, 有了这个我没有任何问题,我可以通过运行脚本并输入用户名和密码来更改默认网关: from Exsc
每个人 我目前正在使用一个集群,并且会经常使用“ssh”连接到它。有时我需要打开多个终端。因此,每次需要连接时,我都必须输入“ssh username@cluster.com”,然后输入“密码”(我在
我是一名优秀的程序员,十分优秀!