我正在尝试更新 /etc/X11/Xstartup.d/00-myconf 中的脚本。它包含一个在手动测试时运行良好的命令,但在脚本中却不行。此命令使用一对 RSA 密钥通过 ssh 连接到远程服务器。
ssh -i /var/subfolder/.ssh/id_rsa -o StrictHostKeyChecking=no specialuser@server "command"
从控制台运行良好,已经作为学生登录,但是当我尝试通过 X11 登录时,会出现一个弹出窗口,要求输入特殊用户密码,这反过来会触发 ksshaskpass 要求使用新钱包(我们不使用它们)。
我可以取消请求并且会话最终打开,但每次学生尝试登录或注销时都会发生这种情况。
我希望你能给我一些提示!
答案1
我编辑了我的问题以提供更多细节,以下是答案。
由于某些(仍然未知的)原因,手动启动命令或在 X11 登录脚本中启动命令必须以不同的方式处理,尤其是读取 RSA 私钥。
当我手动启动命令时,我已经以学生身份登录,私钥必须可由任何人读取,否则命令将不起作用。
当我尝试登录脚本时,我在 ssh 日志中收到以下消息:
“/var/exams/.ssh/id_rsa”的权限 0755 太开放。要求您的私钥文件不能被其他人访问。此私钥将被忽略。
因此解决方案只是将 RSA 密钥 chmod 为 700,并忽略该命令不再手动起作用的事实。
感谢那些帮助过的人!