远程 SSH 服务器有一个来宾帐户,该帐户具有已知的非空密码,登录后可直接执行基于文本的终端游戏(不确定是通过command
、shell
还是其他方法)。游戏退出时连接就会关闭,因此没有“可用”的 shell 来运行命令。
我想使用无密码密钥连接到此服务器,并且我已经检查过 SSH 服务器做允许密钥对认证。问题是:如何添加/复制远程文件的公钥~/.ssh/authorized_keys
?
我已经尝试过和ssh-copy-id
,scp
但都失败了:
me@home ~ $ ssh-copy-id -i ~/.ssh/id_ed25519.game.pub [email protected]
[email protected]'s password:
Error opening terminal: unknown.
me@home ~ $
因此,考虑到这种情况并且登录/密码验证工作正常,有没有办法建立没有密码的连接?
答案1
如果服务器的 ssh 配置允许,您可以指定不同的命令/shell 作为 ssh 命令的参数。
例如:
ssh [email protected] /bin/bash
但是,鉴于您不能使用ssh-copy-id
nor scp
,我预计 sshd 配置将ForceCommand
忽略来自客户端的任何命令/子系统请求,并强制game
运行。如果是这样,您就没那么幸运了。您必须找到另一种方法来添加密钥(基本上就是询问服务器管理员)