IT序号网

oracle之SSH Xforwarding 更改用户帐户

JeffreyZhao 2025年12月25日 编程语言 19 0

我正在尝试制作一个脚本来或多或少地自动安装 oracle 数据库以及我自己的一些其他应用程序。我还没有写一行,因为我想先手动完成所有步骤。

所以,我的环境如下。我有没有图形界面的 RHEL 5。我正在以 root 身份通过 SSH 从 Windows 笔记本电脑连接到服务器。我启用了 XForwarding,所以当我使用 root 帐户登录时,我可以运行 xdpyinfo 以便检查 XServer 配置。

我需要 XForwarding,因为 Oracle DB 安装过程需要 XServer。但是,Oracle 需要用户 oracle 来执行安装。我已经创建了 oracle 用户,但是当将用户从 root 更改为 oracle 时,我无法再运行 xdpyinfo 命令,因此 Oracle 安装过程失败。我收到以下错误:

Xlib: connection to "localhost:10.0" refused by server 
Xlib: PuTTY X11 proxy: wrong authorisation protocol attempted 
xdpyinfo:  unable to open display "localhost:10.0". 

我曾尝试使用 xhost 使我的笔记本电脑能够访问我的服务器,但我也未能做到这一点。

请您参考如下方法:

如果你真的觉得有必要这样做,那么当你是 root 时,获取当前的 $DISPLAY值,尤其是冒号后的第一个值,即 10在你的情况下。然后为您的 session 找到当前的 X 授权 token :

xauth list | grep ":10 " 

这会给你类似的东西:
hostname/unix:10  MIT-MAGIC-COOKIE-1  2b3e51af01827d448acd733bcbcaebd6 

在你之后 suoracle帐户, $DISPLAY可能仍然设置但如果没有设置它以匹配您的基础 session 。然后添加 xauth您当前 session 的 token :
xauth add hostname/unix:10 MIT-MAGIC-COOKIE-1 2b3e51af01827d448acd733bcbcaebd6 

完成后,您可以使用以下命令进行清理:
xauth remove hostname/unix:10 

假设 PuTTY 配置为使用 MIT-Magic-Cookie-1作为远程 X11 身份验证协议(protocol),在 Connection->SSH->X11 部分。如果设置为 MDM-Authorization-1那么你得到的值并用 xauth 设置将有 XDM-AUTHORIZATION-1反而。

root 断开连接可能更简单并开始一个新的 ssh session 为 oracle继续安装,这也将确保您不会意外地做任何意外的事情,如 root .好吧,直到你必须运行 root.sh , 反正。

如果你做 silent install with a response file then you don't need a working X11 connection anyway ;你只需要 $DISPLAY进行设置,但实际上没有在该显示器上打开任何内容,因此 xdpyinfo 无关紧要或任何其他 X11 命令都会失败。我不确定您是如何考虑编写 X11 session 的脚本的,但即使可以,静默安装也会更简单且更可重复。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!