我尝试访问运行 PostgreSQL的Server_A。该服务器位于本地网络上,这就是为什么我必须从可访问且位于同一网络中的Server_B转发端口。
要访问Server_B上的 postgreSQl ,我可以轻松地转发这样的端口:
ssh -L 54320:Server_A:5432 user@Server_B
Run Code Online (Sandbox Code Playgroud)
而在另一个终端:
psql -p 54320 -d db_name -U user
Run Code Online (Sandbox Code Playgroud)
我的问题是我想重现从Server_B网络中存在的机器完成的连接。这台机器可以使用以下命令将自己连接到数据库:
psql -h Server_A -p 5432 -d db_name -U user
Run Code Online (Sandbox Code Playgroud)
我实际上有问题:
通过插入5432:Server_A:5432ssh 命令来转发 5432 端口,我有这个错误:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
而是直接向前从港口的SERVER_A,我尝试着从港口SERVER_B有-h在参数psql …
我已经配置了堡垒或(跳转)框来访问虚拟专用网络。
#ssh_config
Host bastion
HostName 14.90.140.120
User me
IdentityFile ~/.ssh/me
ForwardAgent yes
Host 10.1.*
User me
IdentityFile ~/.ssh/me
ProxyCommand ssh bastion -W %h:%p
Run Code Online (Sandbox Code Playgroud)
我能够通过 ssh 进入堡垒和 10.1.1.6 地址,没有任何问题。
我想做的是添加一个如下所示的条目。注意:我目前没有时间使用 DNS,但这将是我的首选方法。
#/etc/hosts
10.1.1.6 my-host-inside-vpc.corp.internal
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做并尝试访问机器时,我得到以下信息
? ~ ssh -vvv my-host-inside-vpc.corp.internal
debug1: Reading configuration data /home/me/.ssh/config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to my-host-inside-vpc.corp.internal [10.1.1.6] port 22.
Run Code Online (Sandbox Code Playgroud)
此时操作超时。
我正在尝试使用root用户通过 SSH 连接到我的 Debian 8.5 。密码正确,因为我可以使用本地控制台登录到 Debian。PermitRootLogin等于yesin/etc/ssh/sshd_config并且服务器多次重新启动以确保进行此更改。
grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin yes
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
运行sudo tail /var/log/auth.log:
Nov 29 07:40:06 mydeb sshd[2530]: User root from ::1 not allowed because none of user's groups are listed in AllowGroups
Nov 29 07:40:06 mydeb sshd[2530]: input_userauth_request: invalid user root [preauth]
Nov 29 07:40:07 mydeb sshd[2530]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=::1 user=root
Nov 29 07:40:09 mydeb sshd[2530]: Failed password for invalid …Run Code Online (Sandbox Code Playgroud) 我在尝试通过ssh. 我已经设置了连接以允许我仅使用我的自签名证书进行连接,但现在我无法连接。
这只是我用于家庭服务器的服务器,如有必要,我可以直接访问它。
ssh 用户@服务器 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @警告:检测到可能的 DNS 欺骗!@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ 服务器的 RSA 主机密钥已更改, 以及对应 IP 地址的密钥 192.168.0.6 不变。这可能意味着 正在发生 DNS SPOOFING 或主机的 IP 地址 并且它的主机密钥同时发生了变化。 /home/user/.ssh/known_hosts:3 中 IP 的违规密钥 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @警告:远程主机标识已更改!@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ 有人可能正在做一些令人讨厌的事情! 现在有人可能正在窃听你(中间人攻击)! 也有可能 RSA 主机密钥刚刚被更改。 远程主机发送的 RSA 密钥的指纹是 91:c9:85:31:8e:4f:87:b3:6c:9c:9d:1a:15:db:ab:ae。 请联系您的系统管理员。 在 /home/brad/.ssh/known_hosts 中添加正确的主机密钥以消除此消息。 /home/user/.ssh/known_hosts:2 中的违规密钥 服务器的 RSA 主机密钥已更改,您已请求严格检查。 主机密钥验证失败。
这是 的内容~/.ssh/known_hosts。
| 1 | d5CgOYPDw2Q7wlQyjpF7 + 4jKjOU = | vmXkaQaDnT / 64x0XFFi0U8BNRbg = SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAQEAr /米+盎司/ 9pnreHxXg5bXzsn0Ka2QREFOnny7L2T2mjZX / 0dE4 / …
我的 Ubuntu 服务器上安装了 SSH。我可以使用用户名和密码从我的 Ubuntu 桌面登录它。我只能从我的局域网访问 SSH,因为 SSH 端口没有在我的路由器上转发。我是否需要为这样的设置设置 RSA 密钥?据我所知,SSH 是安全的,因为它无法从 Internet 访问。
附带说明一下,我还应该仔细检查哪些其他事项以确保安全?我有 Apache、MySQL 和 ProFTPD 正在运行。
我想你们中的许多人都有生产环境,并且重新编译像 OpenSSH 这样广泛使用的软件包的选项不是一个选项,至少在所有时间都是如此。Securing SFTP 中的解决方案要求您至少为 CentOS_5.1 重建 OpenSSH。
我希望得到另一种方法来防止我的最终用户(使用 sftp)看不到他们允许的文件夹以外的其他目录。类似于 Windows FTP 服务器中的隔离模式。
经过各种谷歌搜索后,我想看这里,但除了上面的帖子之外我什么也没找到。有任何想法吗?
如果我连接到 ssh 服务器并且发现用户名有误,我该如何在服务器提示我输入密码时取消会话?
我知道的唯一方法是按ctrl+c杀死 ssh 进程,有没有更好的方法?
我不一定需要取消会话,只需更改用户名即可。
我可以使用它的内部 IP 地址(如 192.168.10.2)从我的家庭网络中通过 SSH 连接到我的 linux 机器。或者从外部,我可以通过我的路由器上的端口转发通过我的外部 IP 地址(如 74.23.43.98)进行连接,我已设置将端口 22 上的传入连接转发到内部地址 192.168.10.2。但是,如果我在家,则无法通过外部 IP 地址进行连接。这仅适用于我的网络外部。这是普遍真实的还是我的特定摩托罗拉路由器的特点?
谢谢
更具体地说,我计划建立一个负载均衡的电子商务网站。两个负载均衡器将接受来自管的 https 连接,然后根据 ssl 的性质,它们需要验证连接,解密它,然后将未加密的请求转发到应用程序服务器上。
在一个安全的专用网络中,一切都很好,但是我想用虚拟机(slicehost)运行这个设置。从理论上讲,这些机器应该位于专用网络上,但是另一个人的机器(切片)可以以某种方式窥探网络内的流量是可行的。我需要假设网络不安全。
所以。我考虑过使用 ssh,有人建议我使用 VPN(我之前没有设置过,也不太了解)。如果我使用 ssh,我将需要持续监控连接并确保其正常运行。
我想我想知道其他人是怎么做的?
越简单越好(即,可能出错和需要监控的事情越少)
这是一个 linux 设置。我正在考虑使用磅作为负载平衡器。还需要在这方面做一些测试。也开始阅读 nginx 了。
我正在尝试从防火墙后面进行远程备份。将其分解为在 crontab 中调用的自己的脚本确实没有问题,但这一点都不有趣!我正在尝试做什么:
pg_dump -U my_user my_database | ssh me@myserver "> backup.sql"
Run Code Online (Sandbox Code Playgroud)
是备份 postgresql 数据库(将所有内容转储到 stdout)并将其重定向到远程 ssh 命令,该命令只需将其放置在 backup.sql 中。
不幸的是,我得到的只是远程设备上的一个空的“backup.sql”。重定向不是我的强项,所以任何提示将不胜感激。谢谢。
ssh ×10
backup ×1
centos ×1
forwarding ×1
hosts ×1
https ×1
linux ×1
login ×1
networking ×1
postgresql ×1
router ×1
rsa ×1
sftp ×1
ssl ×1
ubuntu ×1