我可以通过网页访问一台服务器或一组计算机。我使用用户名和密码登录,然后我就有一个终端,就像我通过 ssh 连接时一样。我想绕过这个网页登录并直接通过 ssh 连接,虽然我不知道这是否可行。如果我转到 /etc/ssh,sshd_config 中未注释的行是:
AuthorizedKeysFile .ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UseDNS no
Match Adress *,!XXX.YY.ZZ.W/PP
PermitRootLogin yes
AllowGroups root sudo admin
因此,原则上我认为这应该是可能的,请注意,我没有 root 或 sudo。我尝试过的方法:
- 使用 ssh 连接到集群中计算机的某个 ip(我知道这个,因为一旦进入集群,我就可以通过 ssh 连接到它们)和端口 PP
who
要使用 ssh 连接到我在终端中运行显示的 ip- 使用 ssh 连接到我登录的网页名称
在所有情况下,ssh(带有调试信息)都会卡在“连接到 XXX.YY.ZZ.W 端口 PP”
ps aux | grep sshd
显示/usr/sbin/sshd
-D 正在运行
答案1
这取决于网站的复杂程度,但一般来说你不能这样做 - HTTP(s)和 SSH 是完全不同的协议,并且不彼此共享信息 - 尽管它们通常会共享一个登录信息的共同真实来源(例如单点登录或 ldap 或 radius 或 kerberos 等)。
但是,如果可以从您正在通过 SSH 连接的机器上无需密码访问网站(除了其他身份验证外,还可以使用基于 IP 的身份验证),那么您可以这样做 - 最简单的方法可能是将您的计算机设置为使用 SOCKS 代理,并让 SSH 充当 SOCKS 代理 - 这或多或少是协议的一部分。不过,我不认为这种情况会发生。