在没有“可用”shell 的帐户中安装 SSH 密钥

在没有“可用”shell 的帐户中安装 SSH 密钥

远程 SSH 服务器有一个来宾帐户,该帐户具有已知的非空密码,登录后可直接执行基于文本的终端游戏(不确定是通过commandshell还是其他方法)。游戏退出时连接就会关闭,因此没有“可用”的 shell 来运行命令。

我想使用无密码密钥连接到此服务器,并且我已经检查过 SSH 服务器允许密钥对认证。问题是:如何添加/复制远程文件的公钥~/.ssh/authorized_keys

我已经尝试过和ssh-copy-idscp但都失败了:

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-idnor scp,我预计 sshd 配置将ForceCommand忽略来自客户端的任何命令/子系统请求,并强制game运行。如果是这样,您就没那么幸运了。您必须找到另一种方法来添加密钥(基本上就是询问服务器管理员)

相关内容