Oracle Linux 9 with GNOME desktop
Overview
This image is Oracle Linux 9 with the GNOME desktop. It is the SecureAnyCloud Oracle Linux 9 image (built from Oracle's own AWS image template) with Oracle Linux's Server with GUI environment added: GNOME 40 with the GDM login screen, running on the X.Org server, from Oracle's public yum server. It is one software version of the SecureAnyCloud Hardened Debian & Linux Desktops AMIs listing on AWS Marketplace, and every desktop in the listing is described at /guides/linux-desktop-aws/.
The image boots the Unbreakable Enterprise Kernel (UEK Release 8), as Oracle's own cloud images do. You reach the desktop with any VNC viewer through TigerVNC, the VNC server that Oracle ships in its AppStream repository. Each user gets their own full GNOME session on the instance.
VNC ships switched off, and the image holds no password of any kind. No account password, no VNC password and no TLS key are baked in. You set your own two passwords over SSH, then turn VNC on with one command. VNC then listens on localhost only, so you always connect through an SSH tunnel and port 5901 is never open to the internet.
What you get:
- The GNOME desktop from Oracle's public yum server only. The image includes GDM, GNOME Shell, Files, Terminal, Firefox, Text Editor, System Monitor and Settings, installed in one transaction with weak dependencies off. Every enabled repository is an Oracle Linux 9 repository on
yum.oracle.com. There is no third-party repository, no EPEL and no paid channel. The image leaves out things that no EC2 instance can use: Wi-Fi firmware, the Hyper-V and VMware guest agents, and the Red Hat Compatible Kernel with the VDO kernel module built for it. - No registration needed. The image receives its updates from Oracle's public repositories with no account and no ULN registration (see ULN Registration).
- Printing is not included. The CUPS print server and its filters are left out and excluded from dnf (see Printing).
- TigerVNC, off and locked down. A system-wide policy file forces every VNC desktop to listen on localhost only and to offer only security types that need the VNC password. A user's own TigerVNC settings cannot override it. The
sac-vnchelper refuses to start a desktop for an account that has no password or no VNC password. - Remediated with the OpenSCAP PCI-DSS v4.0 Control Baseline profile. The build applies the SCAP Security Guide 0.1.82 profile
pci-dss(Oracle's own signedscap-security-guidepackage and itsssg-ol9-ds.xmlcontent) withoscap --remediateafter the desktop is installed. That way its GNOME rules (screen lock, idle delay, no automount or autorun, no automatic login) and its Avahi rule apply to this desktop. The build then reboots and runs a scored evaluation, and it fails if fewer than 95% of the scored rules pass. On this image, 233 of the 238 scored rules pass (97.9%). The report ships in the image at/usr/share/doc/sac/pci-dss-report.html. - Seven waived rules. Six rules do not fit a key-only EC2 instance. The seventh, sshd_disable_tcp_forwarding, is waived because its AllowTcpForwarding no would block the SSH tunnel that is the only way to reach the desktop (see Waived rules). The waived rules are not counted as passing.
- A configuration baseline, not an attestation. The baseline is measured by open-source tooling and is not a PCI DSS attestation. PCI DSS compliance is assessed for your whole cardholder data environment, not for an operating system image.
- Fully patched at build time, with automatic updates left on (
dnf-automatic, see Patching). - Key-only SSH as ec2-user. Password login over SSH is off and stays off after you set a desktop password. Root login is refused and the root account is locked. SSH allows local port forwarding only, which is what the VNC tunnel uses.
- Platform hardening. The image runs the firewalld host firewall (inbound SSH only) with SELinux enforcing, and keeps a persistent system journal on disk. It also runs chrony on the Amazon Time Sync Service and the AWS Systems Manager agent.
Connecting to your instance
Connect over SSH as the default login user for the operating system variant you launched. For Oracle Linux 9 with GNOME Desktop, the login user is ec2-user.
Launch from AWS Marketplace
- Open the listing on AWS Marketplace. Choose View purchase options, then Subscribe. One subscription covers every version in the listing.
- When the subscription is active, choose Launch your software.
- Choose Launch from EC2 Console (or One-click launch). In Version, choose Oracle Linux 9 with GNOME Desktop - YYYY-MM-DD HH:MM, then choose your Region.
- Choose an instance type.
m5.large(2 vCPU, 8 GiB) is recommended. The login screen plus one GNOME session fits in less, but a browser and a few applications need the room. There is no GPU requirement, because the desktop renders in software. - Choose your EC2 key pair. It is the only way in.
- Allow inbound TCP 22 from your own IP address only in the security group. That is the only port this image needs, because VNC travels inside SSH.
- Set the storage. The root volume is 16 GiB gp3 by default. Choose a larger size if you will install applications. cloud-init grows the root filesystem to fill it on first boot.
- Choose Launch.
Connect over SSH and check the desktop
Connect with your key pair:
ssh -i ~/.ssh/my-key.pem ec2-user@<public-ip>ec2-user has passwordless sudo, and no account has a password. Check the release and kernel. Check that the instance booted to the graphical target with the GNOME login screen (GDM) running on X.Org. Then list the installed desktop and VNC packages:
cat /etc/oracle-release uname -r systemctl get-default systemctl is-active gdm grep '^WaylandEnable' /etc/gdm/custom.conf rpm -q --qf '%{NAME} %{VERSION}\n' gdm gnome-shell mutter xorg-x11-server-Xorg tigervnc-serverOracle Linux Server release 9.8 6.12.0-208.112.5.el9uek.x86_64 graphical.target active WaylandEnable=False gdm 40.1 gnome-shell 40.10 mutter 40.9 xorg-x11-server-Xorg 1.20.11 tigervnc-server 1.15.0Package and kernel versions move forward as Oracle publishes updates. RHEL 9 family TigerVNC desktops are X11 sessions, which is why GDM runs with Wayland disabled. el9uek in the kernel release is the Unbreakable Enterprise Kernel. The Red Hat Compatible Kernel is not installed.
An EC2 instance has no display device that Oracle Linux 9 can drive, so the GDM login screen on the instance's own console runs on the X.Org dummy video driver. Before GDM starts, /usr/local/libexec/sac-xorg-headless writes /etc/X11/xorg.conf.d/90-sac-headless-dummy.conf when there is no display device. It removes the file when there is one, for example on a GPU instance with its driver installed. Your VNC desktops do not use that file.
Check that VNC is off
A new instance has VNC switched off. The helper shows the whole picture in one command. Run:
sudo sac-vnc status grep -vE '^#|^$' /etc/tigervnc/vncserver-config-mandatory
sudo ss -tlnH | awk '{print $4}' | sortVNC policy: localhost only, security types tlsvnc,vncauth (/etc/tigervnc/vncserver-config-mandatory) xvnc.socket (unauthenticated mode): disabled / inactive VNC desktops configured: none listening on VNC ports 5900-5999: none users with a VNC password set: none (each user runs: vncpasswd) localhost securitytypes=tlsvnc,vncauth 0.0.0.0:22 [::]:22The policy file forces two settings on every user, and TigerVNC reads it after each user's own configuration, so a user's settings cannot undo it:
localhostmakes the VNC server listen on127.0.0.1and::1only.securitytypes=tlsvnc,vncauthoffers only security types that require the VNC password.None(no password) is never offered.
SSH on port 22 is the only listener. The unauthenticated inetd mode xvnc.socket is disabled.
The helper lives at /usr/local/sbin/sac-vnc. On Oracle Linux, sudo replaces your PATH with its own secure_path, which does not include /usr/local/sbin. The image therefore also ships /usr/sbin/sac-vnc as a symlink, so sudo sac-vnc works as written. Its subcommands are status, enable [<user>], disable [<user>] and details. <user> defaults to ec2-user.
Set your two passwords
Neither password exists until you create it, and both belong to you.
First, set your account password. The VNC session logs you straight into GNOME, but the desktop asks for this password when the screen locks and when an application needs administrator rights. Run this command and enter the new password twice:
sudo passwd ec2-userThe PCI-DSS profile sets the password rules: at least 12 characters, including at least one digit and one lower-case letter, and 10 wrong attempts lock the account for 30 minutes. passwd explains what it rejects.
Then set your VNC password, which your VNC viewer asks for. Run vncpasswd as yourself, without sudo. Enter the password twice, and answer n to the view-only question:
vncpasswdPassword: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not usedVNC's own password scheme uses only the first 8 characters of the password, which is why the image never exposes VNC to the network. vncpasswd stores it in ~/.config/tigervnc/passwd with mode 0600. SSH stays key-only, and neither password enables password login over SSH.
Start your VNC desktop
Enable VNC for your user:
sudo sac-vnc enableVNC desktop for ec2-user enabled on display :1: listening on localhost port 5901 only from your own machine: ssh -N -L 5901:localhost:5901 ec2-user@<instance-ip> then point a VNC viewer at localhost:5901 and enter ec2-user's VNC passwordThe helper adds :1=ec2-user to /etc/tigervnc/vncserver.users, runs systemctl enable --now vncserver@:1.service, waits until port 5901 is listening, and stops the desktop again if the port is bound anywhere other than localhost. The desktop starts again after a reboot.
If a password is missing, the helper refuses and tells you which one:
refusing to start a VNC desktop for ec2-user: the account has no password yet. The GNOME lock screen and administrator prompts inside the desktop ask for it. Set it first:
sudo passwd ec2-userrefusing to start a VNC desktop for ec2-user: no VNC password is set. As ec2-user (without sudo) run: vncpasswdConnect through an SSH tunnel
On your own workstation, open the tunnel and leave it running:
ssh -i ~/.ssh/my-key.pem -N -L 5901:localhost:5901 ec2-user@<public-ip>Then point your VNC viewer at localhost:5901. TigerVNC and RealVNC accept localhost:5901. Some viewers want the display form localhost:1. On macOS, open Screen Sharing and connect to vnc://localhost:5901. Enter your VNC password, and your GNOME desktop opens.
TigerVNC Viewer marks the password dialog "This connection is not secure". It says that because TigerVNC's TLSVnc security type uses anonymous TLS, so there is no certificate for the viewer to verify. Through the SSH tunnel, the connection is encrypted and your SSH host key check authenticates the server. This is why the image allows VNC over the tunnel only.
Connecting to the instance's public address on port 5901 does not work, by design. The server listens on localhost only, firewalld admits SSH only, and the security group needs only port 22.
A NAT device or firewall between you and AWS can close an idle SSH tunnel. If your viewer disconnects after a quiet spell, add -o ServerAliveInterval=60 to the ssh command.
Use the desktop
Your viewer shows the GNOME desktop at 1920x1080. The Activities button in the top-left corner (or the Super key) opens the overview with the dash and the search field:
The grid button at the end of the dash (or Super+A) lists the installed applications:
A terminal inside the desktop runs on display :1, and the VNC server is bound to the loopback addresses only:
To add software, use dnf in a terminal as on any Oracle Linux machine. For example, run sudo dnf install -y libreoffice, then open the application from the grid.
Closing your VNC viewer leaves the session running on the instance. Connect again and you return to it.
ULN Registration
Oracle's Server with GUI environment includes ULN Registration (the rhn-setup-gnome package), and it appears in the application grid. It registers a machine with the Unbreakable Linux Network, Oracle's channel for customers who hold a paid Oracle Linux Support subscription. You do not need it. This image already receives its updates from Oracle's public yum repositories, with no registration and no account. The image is not registered with ULN.
dnf -q repolist enabledrepo id repo name ol9_UEKR8 Oracle Linux 9 UEK Release 8 (x86_64) ol9_appstream Oracle Linux 9 Application Stream Packages (x86_64) ol9_baseos_latest Oracle Linux 9 BaseOS Latest (x86_64)If you do hold an Oracle Linux Support subscription and want ULN, the registration tool is there to use. The image never enables a ULN channel on its own.
Desktops for more users
Each user gets their own display and port. Create the user with a password, have them set their VNC password, then enable their desktop. The helper assigns the next free display (:2 is port 5902). Run:
sudo useradd -m alice
sudo passwd alice
sudo -u alice -H vncpasswd
sudo sac-vnc enable aliceAlice then tunnels her own port, for example ssh -N -L 5902:localhost:5902 alice@<public-ip>, once her SSH public key is in ~alice/.ssh/authorized_keys.
Turn VNC off again
Disable VNC for your user:
sudo sac-vnc disableVNC desktop for ec2-user disabled: display :1 removed, nothing listening on port 5901This stops the session, disables vncserver@:1.service and removes the mapping, so nothing listens after a reboot. sudo sac-vnc status shows the state at any time.
Security posture
Run the commands below to confirm these settings:
- SSH is key-only and forwards local ports only.
- Root is locked.
- No account has a password until you set one.
- The host firewall admits SSH only.
- SELinux is enforcing.
- The instance never suspends.
sudo sshd -T | grep -E '^(passwordauthentication|permitrootlogin|pubkeyauthentication|allowtcpforwarding) '
sudo passwd -S root | awk '{print $1, $2}'
sudo awk -F: '$2 !~ /^[!*]/ && $2 != "" {n++} END {print "accounts with a password: " n+0}' /etc/shadow
sudo firewall-cmd --list-services getenforce busctl call org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager CanSuspendpermitrootlogin no pubkeyauthentication yes passwordauthentication no allowtcpforwarding local root LK accounts with a password: 0 dhcpv6-client ssh Enforcing s "na"allowtcpforwarding local is what lets the SSH tunnel of Step 5 reach the desktop. Local forwards (ssh -L) work, while remote forwards (ssh -R) are refused, and X11 forwarding, gateway ports and tunnel devices stay off. After Step 3, the password count reads 1 (your own account).
root LK means the root account is locked. na means logind will not suspend the instance, so the desktop menu offers Power Off and Log Out but never Suspend. A suspended instance stops answering while EC2 still reports it running.
Each instance also gets its own identity at first boot. The instance generates its SSH host keys, /etc/machine-id, the NVMe host identity (/etc/nvme/hostnqn, /etc/nvme/hostid) and the BrlAPI key of the braille display library (/etc/brlapi.key, readable by root and the brlapi group only), so no two instances share them.
The system journal is persistent. journald keeps it in /var/log/journal on the root filesystem, so the logs of earlier boots survive a restart (journalctl --list-boots).
Known issue: TigerVNC and CVE-2025-49177
CVE-2025-49177 is not fixed in the TigerVNC package on Oracle Linux 9. The Red Hat Security Data API lists tigervnc on Red Hat Enterprise Linux 9 as "Will not fix", severity Important, CVSS 3.1 score 6.1 with a local attack vector (AV:L). Oracle's CVE page for it lists an erratum for Oracle Linux 10 only, so there is no Oracle Linux 9 TigerVNC update to install. It is a flaw in the X server's XFIXES extension: the XFixesSetClientDisconnectMode handler does not validate the request length, so a connected X client can read memory left over from earlier requests.
What that means on this image: Xvnc accepts X clients only through its local socket and the desktop user's own X authority cookie, with no X11 TCP port, and VNC is off until you enable it. If your security policy does not accept an unfixed vendor CVE, do not enable VNC on this image. If Oracle publishes a fixed package, dnf-automatic applies it automatically.
View the compliance report
The evaluation that the build ran ships in /usr/share/doc/sac/ in three forms:
pci-dss-report.html, the HTML reportpci-dss-arf.xml, the machine-readable ARF resultspci-dss-summary.json, with the counts, pass rate, threshold, SSG version and checksums
The shipped copy replaces the build host's name and addresses. Print the summary and the failing rules:
python3 -c "import json; d=json.load(open('/usr/share/doc/sac/pci-dss-summary.json')); print(d['profileLabel'], d['ssgVersion'], '-', d['pass'], 'of', d['scored'], 'scored rules pass', '(' + str(d['ratePct']) + '%)', '- waived', d['waived'])"
python3 -c "import json; [print(r) for r in json.load(open('/usr/share/doc/sac/pci-dss-summary.json'))['failingRules']]"PCI-DSS v4.0 Control Baseline 0.1.82 - 233 of 238 scored rules pass (97.9%) - waived 7 accounts_password_last_change_is_in_past aide_build_database ensure_pam_wheel_group_empty selinux_confinement_of_daemons set_firewalld_default_zoneThe five rules that do not pass on this image:
- Last password change date. The locked root account carries no "last changed" date in
/etc/shadow, and the rule wants a date in the past for every account. Root has no password either way. - AIDE database. The image ships an AIDE database built from its own files as the last build step (
/var/lib/aide/aide.db.gz) and runsaide --checkdaily. However, the rule's file check does not find a database at the path it expects. To rebuild the database for your own instance after you install software, runsudo aide --initand move/var/lib/aide/aide.db.new.gzto/var/lib/aide/aide.db.gz. - The su group. The profile restricts
suto members of a group namedsugroup(pam_wheel.so group=sugroupin/etc/pam.d/su). That group does not exist, so nobody can usesu. The rule also wants the group to exist and be empty. To clear the finding without changing who can usesu, runsudo groupadd sugroup. - Unconfined daemons. The AWS Systems Manager agent (
amazon-ssm-agentand itsssm-agent-worker) runs as the SELinux typeunconfined_service_t, because Amazon's package ships no SELinux policy for it. - Default firewalld zone. The benchmark wants
DefaultZone=dropin/etc/firewalld/firewalld.conf. The image keepspublicas the default zone, bound toeth0and allowing only SSH and the DHCPv6 client inbound. Incoming traffic is filtered the same way, and new interfaces still get a working zone. If you want the stricter default, runsudo firewall-cmd --set-default-zone=dropand keepeth0inpublic.
Copy the HTML report to your workstation and open it in a browser:
scp -i ~/.ssh/my-key.pem ec2-user@<public-ip>:/usr/share/doc/sac/pci-dss-report.html .You can re-run the same evaluation on your instance at any time. It takes a few minutes and changes nothing. oscap exits with status 2 when any rule fails, and it still writes the report:
sudo oscap xccdf eval --tailoring-file /usr/share/doc/sac/pci-dss-tailoring.xml \
--profile xccdf_co.sac_profile_pci-dss_ec2_single \
--report ~/pci-dss-rescan.html /usr/share/xml/scap/ssg/content/ssg-ol9-ds.xmlUse the ssg-ol9-ds.xml content shown above. The scap-security-guide package also ships the RHEL 9 data stream, but that content only applies to Red Hat Enterprise Linux. On Oracle Linux, it reports almost every rule as not applicable.
Waived rules
The tailoring file deselects these rules of the profile, so they are not scored. The reasons are in /usr/share/doc/sac/pci-dss-waivers.txt. Everything else the profile selects is remediated and scored. List the waived rules:
grep -v '^#' /usr/share/doc/sac/pci-dss-waivers.txt | cut -f1,2sudo_require_authentication [default-user-sudo] ensure_root_password_configured [serial-console-and-boot] accounts_maximum_age_login_defs [key-only-account-aging] account_disable_post_pw_expiration [key-only-account-aging] sshd_limit_user_access [ssh-access-list] auditd_data_retention_admin_space_left_action [audit-sizing-8gb] sshd_disable_tcp_forwarding [vnc-ssh-tunnel]Each rule and the reason it is waived:
- sudo_require_authentication:
ec2-useris key-only with no password, and cloud-init gives it password-freesudo. Demanding a password forsudowould leave the only administrator unable to use it. - ensure_root_password_configured: a root password would have to be baked into the image, giving every instance the same credential. Root stays locked and no password exists.
- accounts_maximum_age_login_defs and account_disable_post_pw_expiration: password-age defaults apply to every account that cloud-init creates at launch. Those accounts are key-only and have no password, so an age limit would expire them and lock the SSH key out. Accounts that do have a password (yours, after Step 3) are still aged.
- sshd_limit_user_access: an AllowUsers/AllowGroups list fixed at build time would refuse SSH to accounts you create with cloud-init user data. SSH is key-only, root login is refused, and your security group restricts the source addresses.
- auditd_data_retention_admin_space_left_action: on a single root volume, the audit log shares the filesystem with the operating system, and halting the instance when the disk fills would take it down. auditd keeps its rotate and suspend defaults.
sshd_disable_tcp_forwarding: the rule setsAllowTcpForwarding no, which would refuse the SSH tunnel that is the only way to reach the desktop. VNC listens on localhost only, and you reach it through an SSH local forward (ssh -L). The image therefore sets AllowTcpForwarding local instead. Local forwards work and remote forwards (ssh -R) are refused. X11 forwarding, gateway ports and tunnel devices stay off.
Networking and services that ship switched off
NetworkManager manages the EC2 network interface, and cloud-init writes its connection profile at first boot. Check the device state:
nmcli -t -f DEVICE,TYPE,STATE deviceeth0:ethernet:connected lo:loopback:connected (externally)The Server with GUI group brings several network services that this image leaves switched off. Check them:
for u in cockpit.socket avahi-daemon.service cups.service bluetooth.service ModemManager.service rpcbind.socket xvnc.socket; do echo "$u: $(systemctl is-enabled "$u" 2>/dev/null || true)" donecockpit.socket: disabled avahi-daemon.service: masked cups.service: bluetooth.service: disabled ModemManager.service: disabled rpcbind.socket: xvnc.socket: disabledmasked on Avahi comes from the PCI-DSS profile. An empty value means the unit is not installed, because this image has no CUPS print server and no rpcbind. Cockpit, Bluetooth and ModemManager are installed but disabled.
To use the Cockpit web console, run sudo systemctl enable --now cockpit.socket. Reach it through an SSH tunnel as well, because the host firewall admits SSH only. Run ssh -N -L 9090:localhost:9090 ec2-user@<instance-public-ip>, then open https://localhost:9090.
Do not enable xvnc.socket. It serves a login screen over VNC on port 5900 with no VNC password.
Printing
This image does not include printing. The CUPS print server (cups) and its filters (cups-filters, cups-filters-libs) are not installed, and /etc/dnf/dnf.conf excludes them so that no update or dependency brings them back. The CUPS client library (cups-libs) stays, because GTK and GNOME Settings link against it. Check the state:
rpm -q cups cups-filters cups-libs | sed 's/-[0-9].*//' grep '^exclude=' /etc/dnf/dnf.confpackage cups is not installed package cups-filters is not installed cups-libs exclude=kernel-uek-headers cups cups-filters cups-filters-libs cups-browsed libcupsfilters libppdIf you need printing, edit the exclude= line in /etc/dnf/dnf.conf back to Oracle's own exclude=kernel-uek-headers and keep that entry. Then run sudo dnf install -y cups cups-filters and sudo systemctl enable --now cups.
Patching
Oracle publishes its security errata (ELSA advisories) as advisory data in its public repositories, so dnf can tell you which pending updates fix security issues. dnf-automatic applies updates automatically each day. Check what is pending now:
sudo dnf -q check-update --refresh >/dev/null; echo "dnf check-update exit code: $? (0 = nothing to update, 100 = updates available)"
sudo dnf -q updateinfo list --security | wc -l grep -E '^(upgrade_type|apply_updates)' /etc/dnf/automatic.conf systemctl is-enabled dnf-automatic.timerdnf check-update exit code: 100 (0 = nothing to update, 100 = updates available) 0 upgrade_type = security apply_updates = yes enabledupgrade_type = security means dnf-automatic installs only the updates that Oracle publishes as security errata, once a day. To stop automatic updates, run sudo systemctl disable --now dnf-automatic.timer.
An instance launched later lists the updates released since, with exit code 100. To install everything now, run sudo dnf -y upgrade, then sudo systemctl reboot if a new kernel was installed. Automatic updates never restart the instance for you. dnf needs-restarting -r tells you whether a restart is owed.
Support lifecycle
Oracle Linux 9 is not an end-of-life product. It reached general availability in July 2022. Oracle's Premier Support for it runs until June 2032 and Extended Support until June 2035. Check Oracle's Lifetime Support Policy for the dates that apply to your deployment.
Troubleshooting
"Connection refused" on localhost:5901
VNC is switched off on a new instance by design. Run sudo sac-vnc enable first, and check that the SSH tunnel is still running in its own terminal window. sudo sac-vnc status shows whether anything is listening on 5901.
The viewer says "Authentication failure"
The viewer wants your VNC password (set with vncpasswd), not your account password. Only its first 8 characters count. To set a new one, run vncpasswd again as yourself, then run sudo sac-vnc disable and sudo sac-vnc enable.
Connecting to the instance's public IP on port 5901 does not work
That is by design. The VNC server listens on localhost only, whatever a user's own TigerVNC settings say. Use the SSH tunnel in Step 5.
The screen is locked and asks for a password
The screen locks after 15 minutes of inactivity (PCI-DSS profile). Unlock it with your account password (the one from sudo passwd). After repeated failed attempts, the account is locked for a while. To unlock it early, run sudo faillock --user ec2-user --reset over SSH.
The desktop does not start for a user
sudo sac-vnc enable <user> says what is missing. For anything else, read journalctl -u vncserver@:1 and the session log in ~<user>/.local/state/tigervnc/.
Cannot connect via SSH
- Check that the security group allows port 22 from your address.
- Use the user
ec2-userand the key pair you chose at launch. Password login over SSH is disabled by design.
A service is blocked and the logs mention SELinux
SELinux is enforcing. Read the denial with sudo ausearch -m avc -ts recent before you change anything. Fix the label or the boolean it names rather than turning SELinux off.
Emergency access
No account has a password until you set one. EC2 Serial Console and single-user recovery need a local password, and the one you set in Step 3 works for the serial console. If SSH is unavailable, use Session Manager to get in.
Support
SecureAnyCloud provides 24/7 technical support for this image by email and live chat: sales@secureanycloud.com.
Oracle Linux is free and open source, and Oracle permits its redistribution. The binaries, updates and errata are available at no cost, and an Oracle Linux Support subscription is optional. It is assembled from thousands of independently packaged components, each under its own licence (see rpm -qi <package>). No subscription, registration or licence key is required. This image is not Oracle Database and carries no Oracle Database licensing.
Oracle and Oracle Linux are trademarks of Oracle and/or its affiliates. GNOME is a trademark of the GNOME Foundation. TigerVNC is a trademark of its respective owner. PCI DSS is a trademark of the PCI Security Standards Council. The names are used only to identify the software this image contains. SecureAnyCloud is not affiliated with or endorsed by Oracle, the GNOME Foundation, the TigerVNC project or the PCI Security Standards Council.
Deploy on AWS
Launch Oracle Linux 9 with GNOME Desktop on AWS with 24/7 support from SecureAnyCloud.
View on Marketplace
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com