客户端(私钥) -> 跳板机(公钥) -> 目标机器 1 、目标机器 2 (密码验证)
客户端用私钥登录跳板机,想用密码验证的方式登录不通的内网机器
ssh_config
文件禁用了密码验证 PasswordAuthentication no
,存放了公钥;跳板机会默认使用密钥验证的方式去登录内网机器,并且不会尝试密码验证的方式登录。
1
paulw54jrn 2016-10-12 18:50:16 +08:00
ssh -A
https://www.freebsd.org/cgi/man.cgi?query=ssh&sektion=1 ``` -A Enables forwarding of the authentication agent connection. This can also be specified on a per-host basis in a configuration file. Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent's UNIX-domain socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent. ``` |
2
paulw54jrn 2016-10-12 18:50:57 +08:00
我看错了.. 请忽略我
|
3
boogiefer OP @paulw54jrn `- A` 命令是用来转发密钥的,内网机器并不支持密钥验证的方式登录
|
4
xqin 2016-10-12 19:06:40 +08:00
1. ssh 至跳板机, 并增加 -L 参数, 比如 -L 1234:目标机器 IP:端口
2. 在完成上面这一步的时候,在 `客户端` 连接 127.0.0.1:1234 使用密码来登陆 目标机器. 简单点讲就是 由`跳板机`做一下端口转发, 把 `目标机器`的`ssh 端口`转发过来, 然后在`客户端`上登陆`目标机器`. |
5
boogiefer OP @xqin 感谢答复,你的方法还没验证;
我发现在跳板机 ~/.ssh/config 配置里面,添加内网 Host 并且把 `PasswordAuthentication` 设置成 `yes` 就可以了 |
6
xqin 2016-10-12 19:13:08 +08:00
再或者 使用 -F 参数, 重新指定 ssh_config 文件, 不让它使用系统默认的(在跳板机上登陆目标机器的时候).
|
7
xqin 2016-10-12 19:15:28 +08:00 1
`man ssh_config` 即可得到如下帮助信息:
SSH_CONFIG(5) BSD File Formats Manual SSH_CONFIG(5) NAME ssh_config — OpenSSH SSH client configuration files SYNOPSIS ~/.ssh/config /etc/ssh/ssh_config DESCRIPTION ssh(1) obtains configuration data from the following sources in the fol ‐ lowing order: 1. command-line options 2. user's configuration file (~/.ssh/config) 3. system-wide configuration file (/etc/ssh/ssh_config) |
8
raysonx 2016-10-12 21:14:16 +08:00 via iPad 1
不明白为何要在跳板机 ssh_config 里禁止 ssh 客户端,注意客户端,禁止密码认证。
应该是在 sshd_config 里禁止,而不是 ssh_config 。前者管别人登他,后者管他登别人。 |
9
ywgx 2016-10-12 21:44:14 +08:00 via iPhone
去看看 xabcloud.com 的设计
|
10
likuku 2016-10-14 02:02:40 +08:00
跳板鸡上的 ~/.ssh/config 里 添加:
ForwardAgent no 即可 |