如何通过SSH配置开启X11 Forwarding (ForwardX11 yes),然后在远程机器上运行xhost +local:your_username。
时间: 2024-09-18 13:04:00 浏览: 164
在Ubuntu 20.04上通过SSH开启X11 Forwarding(也称为X11转发),你需要在客户端机器的SSH配置文件里添加相应的行。这个文件通常是`~/.ssh/config`。这里是一个示例:
```bash
Host your_server_name
HostName server_ip_address
User your_username
# 开启X11转发
X11Forwarding yes
# 允许所有来自本地主机的X请求
PasswordAuthentication no
# 更安全的方式:使用SSH密钥对认证
IdentityFile ~/.ssh/id_rsa
# 然后,每次只需简单地执行:
ssh your_server_name
```
在远程服务器上,为了接受来自你的客户端的X11请求,需要运行:
```bash
xhost +local:your_username
```
这会允许用户`your_username`从本地系统发送X11请求。注意,这样做可能会增加系统的安全性风险,因为X11可以让恶意程序直接操控你的屏幕。
相关问题
安装oracle数据库实例时,报错 xhost + MoTTY X11 proxy: No authorisation provided xhost: unable to open display "localhost:10.0"
在安装Oracle数据库实例过程中,如果遇到 `xhost + MoTTY X11 proxy: No authorisation provided xhost: unable to open display "localhost:10.0"` 的错误,这通常是由于在远程SSH会话中尝试访问本地的X11图形界面所导致的权限问题。
X11是一种跨平台的图形用户界面协议,当在SSH会话中启动需要图形界面的应用,比如Oracle Database Configuration Assistant (DBCA),系统会试图通过X11转发功能打开图形界面。但是在这个过程中,如果没有提供正确的授权信息,就会提示 "No authorisation provided"。
为了解决这个问题,可以按照以下步骤操作:
1. **检查SSH配置**:确保你在SSH客户端的配置文件(如~/.ssh/config)中设置了允许X11 forwarding,添加类似以下内容:
```
Host *
ForwardX11 yes
```
2. **授予权限**:在远程服务器上,可能是由于安全原因禁用了X11转发,这时需要临时增加权限,输入:
```bash
sudo xhost +local:`whoami`
```
或者指定你的用户名,然后输入密码。
3. **使用非图形化模式**:如果你不想涉及图形界面,也可以选择在SSH会话中直接运行DBCA的文本模式版本,如:
```
ssh -t <username>@<hostname> 'cd /path/to/oracle/install && ./runInstaller'
```
4. **重启SSH代理**:有时重启SSH代理服务也能解决问题,`killall ssh-agent` 然后重新启动。
The remote SSH server rejected X11 forwarding request.
这个错误通常是由于远程 SSH 服务器没有启用 X11 转发或者客户端的 X11 转发设置不正确导致的。
要启用 X11 转发,需要在客户端连接 SSH 服务器时使用 -X 选项。例如:
```
ssh -X user@remote.host
```
如果你已经使用了 -X 选项但仍然遇到此错误,那么可能是因为服务器没有启用 X11 转发。你可以在服务器上编辑 /etc/ssh/sshd_config 文件,并确保以下这行代码未被注释掉:
```
X11Forwarding yes
```
然后重启 SSH 服务以使更改生效。
阅读全文