假设我在典型的家用路由器中有一台计算机(但说防火墙/端口转发访问路由器不可用)。它的内部 IP 可以是 192.168.1.81。LAN 上有一台 IP 为 192.168.1.85 的攻击者机器想要对 192.168.1.81 进行典型的 ARP 欺骗中间人攻击(假设他想运行类似 urlsnarf 的东西来嗅探访问过的网站)。192.168.1.81 机器想要防止任何形式的 MITM 攻击并在 Chrome 上浏览互联网时保持安全。他有一个具有 SSH 访问权限的服务器,他想用它来加密他的 Web 浏览,这样攻击者就无法通过 MITM 攻击来嗅探它。我(希望使用 SSH 隧道以保持安全的用户)如何在我的服务器(在公共 IP 162.xx.xxx.xx)上使用 SSH 隧道来防止潜在的 MITM 攻击?这是一个科学博览会项目。我必须在我的服务器上进行哪些(如果有)设置(我有完全的 root 访问权限)?我的SSH端口与常态不同,请以SSH端口25512为参考。我也在防火墙上为服务器打开了4567端口,请参考这个端口。请使用 72.xxx.xx.xxx 作为家庭网络的公共 IP。请包括任何必要的命令。让我知道是否需要更清楚。非常感谢任何可以提供帮助的人!让我知道是否需要更清楚。非常感谢任何可以提供帮助的人!让我知道是否需要更清楚。非常感谢任何可以提供帮助的人!
我通过 SSH 管理了大约 10 个远程服务器,我通常只是通过 SSH 连接到每个服务器来执行远程管理任务。这要求我在每台服务器上复制我的许多点文件(如 .zshrc、.vimrc),以便我在每个服务器上都有统一的体验。因此,对这些文件之一进行更改意味着将其分发到所有服务器(最坏的情况是手动,最好的情况是使用诸如 Ansible 之类的配置工具)。
但是,如果我要使用 NFS、SSHFS、Samba 或其他东西将所有这些服务器的根文件系统挂载到我的本地工作站上(例如 /mnt/servers/server1/、/mnt/servers/server2/ 等) ,那么这会消除在这些服务器中的每一个之间共享和复制点文件的需要吗?
因为我使用的是本地 shell 和 Vim,所以只使用了本地 .zshrc 和 .vimrc。如果我需要在 server3 上编辑 /etc/hosts,我会从我的本地工作站 'vi /mnt/servers/server3/etc/hosts' 编辑主机文件。
这会消除在我管理的所有服务器之间同步我的点文件的需要吗?
当我尝试使用 ssh-agent 中保存的加密密钥 ssh 时,我得到以下信息(使用ssh -vvv):
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/cowens/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: BLAH
debug3: sign_and_send_pubkey: RSA BLAH
debug3: input_userauth_banner
Access denied
Access denied
Connection closed by BLAH
Run Code Online (Sandbox Code Playgroud)
如果我强制它使用密码 ( ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no),我可以登录,然后在我断开连接后(所以它不是 ControlMaster 的事情),我可以使用密钥 ssh 没有问题:
debug1: Offering RSA public key: /home/cowens/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey …Run Code Online (Sandbox Code Playgroud) 我是系统管理员/IT 方面的新手,所以如果这看起来很简单,我深表歉意。我尝试搜索,但由于 SSH 是一个如此广泛的领域,我不知道具体使用哪些关键字或术语。
我很快就要出差了,我需要通过 SSH 连接到我的 EC2 Ubuntu 服务器。目前我家里有一个静态 IP,UFW 设置为限制端口 22 的 IP 访问。就 SSH 本身而言,我使用密钥对登录。
有什么方法可以让我以某种方式获得静态 IP,或者使用某种 VPN 然后通过 SSH 连接到我的服务器以保持端口 22 的安全?显然,我不是第一个在必须通过 SSH 连接到服务器的情况下旅行的人,所以必须有一个解决方案。
正如我所说,我目前只允许我的 IP 访问端口 22。对所有流量开放端口 22 会不会太冒险?我对 SSH 使用密钥对,而不是用户名/密码。
如何在 ssh 登录时禁用系统信息:
login as: xyv
Ubuntu 13.10
xyv@XXXXXXX's password:
Run Code Online (Sandbox Code Playgroud)
我认为这是个大问题。我想只有在密码验证后才能知道系统信息。
我有一台 Centos 5.9 服务器,我之前已将其配置为通过 SSH 密钥登录进行访问,并且这已经运行了好几个月。我最近不得不远程解决一个问题,这需要我暂时重新启用 root 登录。解决此问题后,我通过在 sshd_config 文件中设置“PermitRootLogin no”来禁用 root 登录,但是,我还设置了“密码验证否”,我认为这是我搞砸的地方。执行此操作后,我无法再登录到服务器,我只收到消息:
Permission denied (publickey,gssapi-with-mic).
Run Code Online (Sandbox Code Playgroud)
我基本上没有其他方法可以通过 SSH 访问服务器,所以我解脱了!我相当肯定这是因为我已经将密码身份验证设置为 no 这就是问题所在,我没有更改服务器上的任何其他设置,这些设置应该会影响以前正常工作的密钥。
如何通过 SSH 重新获得对服务器的访问权限?
我将我的服务器设置为在端口 21966 上接受 SSH 连接,我按照一些步骤来配置 ufw,但是它现在已将我锁定在任何端口上的所有 SSH 访问之外!
我已经能够将我的服务器启动到“救援”模式,为我提供一个 SSH 救援帐户,通过它我可以安装硬盘驱动器并查看我的文件。我不知道该怎么做,因为 ufww 服务没有运行,所以我无法禁用或卸载它。
最近,我被要求查看一个“朋友”的系统,这让我完全被难住了。他们最初的问题告诉我:
这是我在检查了他们的防火墙、tcp 包装器、sshd 配置、sudoers 等之后发现的。
您运行的任何引用用户的命令似乎总是引用 root。一些例子:
whoami并且who am i都返回根除了人们通常期望看到的之外,在 /usr/bin 或 /bin 或 /sbin 中的程序上没有设置粘性位。
这个问题太奇怪了,我什至不知道该使用什么搜索词。
欢迎半生不熟的想法。
@Matthew Ife:scan 的用户 id 是 501,但getent passwd scan返回:
scan:x:0:0::/home/scan:/bin/bash
Run Code Online (Sandbox Code Playgroud) 已通过 ssh 通过端口 22 连接到服务器,并决定使用以下命令杀死与 root 用户连接的所有用户:
pkill -9 -u root
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试通过 root@190.169.94.56 登录时,我收到消息:
ssh: connect to host 190.169.94.56 port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)
我确保 SSH 确实在端口 22 上运行。在服务器机器上,我运行:
netstat -untap | grep 190.169.94.56
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 190.169.94.9:41267 190.169.94.56:22 ESTABLISHED 29673/ssh
Run Code Online (Sandbox Code Playgroud)
我 ping 服务器 190.169.94.56 并正确响应:
ping 190.169.94.56
PING 190.169.94.56 (190.169.94.56) 56(84) bytes of data.
64 bytes from …Run Code Online (Sandbox Code Playgroud) 当我尝试将我的 SSH 端口设置为 22(编辑/etc/sysconfig/iptables和/etc/ssh/sshd_config)以外的其他端口时,我最终被锁定在我的服务器之外并且不得不启动到救援模式来纠正问题。
我已经经历了几次这个循环,每次都更加小心,我在做正确的事情。
我的新端口(在本例中为 33933)是否有可能在其他地方被阻止 - 或者还有另一个引用 22 的文件需要更改?
这是在 CentOS 6 上的一个全新的专用盒子上,我刚刚从 oneprovider.com(一个 online.net 经销商)设置了这个盒子。