<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.anunna.wur.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Haars0011</id>
	<title>HPCwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.anunna.wur.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Haars0011"/>
	<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php/Special:Contributions/Haars0011"/>
	<updated>2026-04-18T01:37:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2723</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2723"/>
		<updated>2026-04-16T07:43:12Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna is a [http://en.wikipedia.org/wiki/High-performance_computing High Performance Computer] (HPC) infrastructure hosted by [https://www.wur.nl/en/show/supercomputer-anunna-opens-up-more-opportunities-for-data-storage-and-artificial-intelligence-applications.htm Wageningen University &amp;amp; Research Centre]. It is open for use for all WUR research groups as well as other organizations, including companies, that have collaborative projects with WUR. &lt;br /&gt;
&lt;br /&gt;
= About =&lt;br /&gt;
&lt;br /&gt;
* [[History of the Cluster|Historical information on the startup of Anunna]]&lt;br /&gt;
&lt;br /&gt;
== Access Policy ==&lt;br /&gt;
[[Access_Policy | Main Article: Access Policy]]&lt;br /&gt;
&lt;br /&gt;
Access needs to be granted actively (by creation of an account on the cluster by FB-IT). Use of resources is limited by the scheduler. Note that the use of Anunna is not free of charge. &lt;br /&gt;
&lt;br /&gt;
= Our Courses and Tutorials =&lt;br /&gt;
The Anunna team organizes HPC courses three times a year to strengthen basic &amp;amp; more advanced skills and enable users to make the most effective use of our facility.&lt;br /&gt;
&lt;br /&gt;
* [[Linux Basic]]&lt;br /&gt;
* [[HPC Basic]]&lt;br /&gt;
* [[HPC Advanced]]&lt;br /&gt;
* [[2026 Course dates]]&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
&lt;br /&gt;
= Using Anunna =&lt;br /&gt;
* [[Tariffs |Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== Getting support ==&lt;br /&gt;
* [[Support|Get support with using Anunna (open a ticket with the HPC team)]]&lt;br /&gt;
&lt;br /&gt;
== Gaining access to Anunna==&lt;br /&gt;
Access to the cluster and file transfer are traditionally done via [http://en.wikipedia.org/wiki/Secure_Shell SSH and SFTP].&lt;br /&gt;
* [[log_in_to_B4F_cluster | Logging into cluster using ssh]]&lt;br /&gt;
* [[file_transfer | File transfer options]]&lt;br /&gt;
* [[Services | Alternative access methods, and extra features and services on Anunna]]&lt;br /&gt;
* [[Filesystems | Data storage methods on Anunna]]&lt;br /&gt;
&lt;br /&gt;
== Using Anunna for courses (mainly jupyter notebooks) ==&lt;br /&gt;
* [[steps_for_courses | Steps involved to run a course on Anunna]]&lt;br /&gt;
 &lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
* [[Courses]] that have happened and are happening&lt;br /&gt;
* [[Downtime]] that will affect all users&lt;br /&gt;
* [[Meetings]] that may affect the policies of Anunna&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
* [[Apptainer]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[R]] &lt;br /&gt;
* [[Julia]]&lt;br /&gt;
&lt;br /&gt;
== Browser apps ==&lt;br /&gt;
This page provides an overview of the GUI-based applications available Anunna, including background information and practical guidance on how to access and use interactive desktops and graphical tools directly from your web browser.&lt;br /&gt;
&lt;br /&gt;
* [[General overview|General Overview]]&lt;br /&gt;
* [[Anunna Shell Access]]&lt;br /&gt;
* [[Using the File browser|File Browser]]&lt;br /&gt;
* [[Jupyter|Featured Apps]]&lt;br /&gt;
* [[Jupyter]]&lt;br /&gt;
* [[RStudio|R Studio]]&lt;br /&gt;
* [[Linux desktop|Linux Desktop]]&lt;br /&gt;
* [[Requesting new software|Requesting New Software]]&lt;br /&gt;
&lt;br /&gt;
== Command-line Software ==&lt;br /&gt;
&lt;br /&gt;
==== Cluster Scheduler ====&lt;br /&gt;
Anunna uses Slurm as job scheduler.&lt;br /&gt;
* [[Using_Slurm | Submit jobs with Slurm]]&lt;br /&gt;
* [[node_usage_graph | Be aware of how much work the cluster is under right now with &#039;node_usage_graph&#039;]]&lt;br /&gt;
* [[SLURM_Compare | Rosetta Stone of Workload Managers]]&lt;br /&gt;
&lt;br /&gt;
==== [[Globally installed software]] ====&lt;br /&gt;
&lt;br /&gt;
==== [[ABGC_modules |ABGC specific modules]] ====&lt;br /&gt;
&lt;br /&gt;
==== Installation of software by users ====&lt;br /&gt;
* [[Domain_specific_software_on_B4Fcluster_installation_by_users | Installing domain specific software: installation by users]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Virtual_environment_Python_3.4_or_higher | Setting up and using a virtual environment for Python3.4 or higher ]]&lt;br /&gt;
* [[Installing WRF and WPS]]&lt;br /&gt;
* [[Running scripts on a fixed timeschedule (cron)]]&lt;br /&gt;
&lt;br /&gt;
= Useful Notes = &lt;br /&gt;
&lt;br /&gt;
== Being in control of Environment parameters ==&lt;br /&gt;
&lt;br /&gt;
* [[Using_environment_modules | Using environment modules]]&lt;br /&gt;
* [[Aliases and local variables]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Setting_TMPDIR | Set a custom temporary directory location]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Locale_settings]] (how numbers and dates are displayed)&lt;br /&gt;
&lt;br /&gt;
== Controlling costs ==&lt;br /&gt;
&lt;br /&gt;
* [[SACCT | using SACCT to see your costs]]&lt;br /&gt;
* [[get_my_bill | using the &amp;quot;get_my_bill&amp;quot; script to estimate costs]]&lt;br /&gt;
&lt;br /&gt;
== Management ==&lt;br /&gt;
Product Owner of Anunna is Alexander van Ittersum (Wageningen UR,FB-IT, C&amp;amp;PS). [[User: prins089 | Fons Prinsen (Wageningen UR, FB-IT, C&amp;amp;PS)]] is responsible for [[Maintenance_and_Management | Maintenance and Management]] of the cluster.&lt;br /&gt;
&lt;br /&gt;
* [[Roadmap | Ambitions regarding innovation, support and administration of Anunna ]]&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous =&lt;br /&gt;
* [[Bioinformatics_tips_tricks_workflows |Bioinformatics tips, tricks, and workflows]]&lt;br /&gt;
* [[Parallel_R_code_on_SLURM | Running parallel R code on SLURM]]&lt;br /&gt;
* [[Convert_between_MediaWiki_and_other_formats | Convert between MediaWiki format and other formats]]&lt;br /&gt;
* [[Manual GitLab | GitLab: Create projects and add scripts]]&lt;br /&gt;
* [[Monitoring_executions | Monitoring job execution]]&lt;br /&gt;
* [[Shared_folders | Working with shared folders in the Lustre file system]]&lt;br /&gt;
* [[Old_binaries | Running older binaries on the updated OS]]&lt;br /&gt;
* [[locale_settings | How to change language settings for yourself]]&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Maintenance_and_Management | Maintenance and Management]]&lt;br /&gt;
* [[About_ABGC | About ABGC]]&lt;br /&gt;
* [[Computer_cluster | High Performance Computing @ABGC]]&lt;br /&gt;
* [[Lustre_PFS_layout | Lustre Parallel File System layout]]&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [https://www.wur.nl/en/Value-Creation-Cooperation/Facilities/Wageningen-Shared-Research-Facilities/Our-facilities/Show/High-Performance-Computing-Cluster-HPC-Anunna.htm SRF offers a HPC facilty]&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Scientific_Linux Scientific Linux]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Help:Cheatsheet Help with editing Wiki pages]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2714</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2714"/>
		<updated>2026-04-03T12:29:25Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Chappie help&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Linux desktop gives you a graphical environment on the cluster, right inside your web browser. &lt;br /&gt;
&lt;br /&gt;
It is useful for running software that needs a screen, such as plotting tools, genome browsers, or graphical editors. You do not need to install anything on your own computer — a web browser and your Anunna account are all you need.&lt;br /&gt;
&lt;br /&gt;
The desktop is based on [https://www.xfce.org/ Xfce], a lightweight and user-friendly desktop environment.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Start only one desktop session at a time. Running two sessions simultaneously causes conflicts and neither will work properly. If your desktop seems stuck, check &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; (see [[#Reconnecting to a running desktop|Reconnecting]]) to make sure you do not have a duplicate running.}}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
=== Launching a desktop ===&lt;br /&gt;
&lt;br /&gt;
# Go to http://apps.anunna.wur.nl/.&lt;br /&gt;
# Click the &#039;&#039;&#039;XFCE desktop&#039;&#039;&#039; tile:&lt;br /&gt;
#: [[File:XFCE_tile.png|371x371px]]&lt;br /&gt;
# A launch form appears:&lt;br /&gt;
#: [[File:Minimal_desktop_form.png|400x400px]]&lt;br /&gt;
# Enter how long you need the desktop (in hours). The desktop will shut down automatically when the time runs out.&lt;br /&gt;
# Click &#039;&#039;&#039;Launch&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
After a short wait the desktop session will start. Continue to [[#Connecting to your desktop|Connecting to your desktop]] below.&lt;br /&gt;
&lt;br /&gt;
=== Connecting to your desktop ===&lt;br /&gt;
&lt;br /&gt;
Once the session is running you will see an information tile:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE_job_info.png|600x600px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;Launch Desktop (XFCE)&#039;&#039;&#039; to open the desktop in your browser.&lt;br /&gt;
&lt;br /&gt;
=== Using the desktop ===&lt;br /&gt;
&lt;br /&gt;
The desktop looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE_desktop.png]]&lt;br /&gt;
&lt;br /&gt;
Along the bottom you will find six shortcut icons:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Show Desktop&#039;&#039;&#039; — minimise all windows&lt;br /&gt;
* &#039;&#039;&#039;Terminal&#039;&#039;&#039; — open a command-line terminal&lt;br /&gt;
* &#039;&#039;&#039;File Browser&#039;&#039;&#039; — browse your files&lt;br /&gt;
* &#039;&#039;&#039;Web Browser&#039;&#039;&#039; — open a web browser inside the desktop&lt;br /&gt;
* &#039;&#039;&#039;Application Search&#039;&#039;&#039; — search for installed applications&lt;br /&gt;
* &#039;&#039;&#039;Home Folder&#039;&#039;&#039; — open your home directory&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Applications&#039;&#039;&#039; menu in the top-left corner gives access to the same applications, plus &#039;&#039;&#039;Settings&#039;&#039;&#039; for desktop preferences.&lt;br /&gt;
&lt;br /&gt;
=== Using pre-installed software (modules) ===&lt;br /&gt;
&lt;br /&gt;
Software that is available on Anunna via the &amp;lt;code&amp;gt;module load&amp;lt;/code&amp;gt; command works inside the desktop as well. Open a terminal and use modules exactly as you would on the command line. See the [[Modules]] page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Reconnecting to a running desktop ===&lt;br /&gt;
&lt;br /&gt;
If you close your browser or shut down your computer, the desktop keeps running in the background. To reconnect:&lt;br /&gt;
&lt;br /&gt;
# Go to http://apps.anunna.wur.nl/.&lt;br /&gt;
# Click &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; in the menu bar.&lt;br /&gt;
# Find your running session and click &#039;&#039;&#039;Launch Desktop (XFCE)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Stopping the desktop ===&lt;br /&gt;
&lt;br /&gt;
There are two ways to stop a desktop session:&lt;br /&gt;
&lt;br /&gt;
; From inside the desktop&lt;br /&gt;
: Open the &#039;&#039;&#039;Applications&#039;&#039;&#039; menu (top left) and click &#039;&#039;&#039;Log Out&#039;&#039;&#039; at the bottom. Alternatively, click your name in the top-right corner and choose &#039;&#039;&#039;Log Out&#039;&#039;&#039;. You will see a &amp;quot;Connection lost&amp;quot; message — this is normal and simply means the session has ended.&lt;br /&gt;
&lt;br /&gt;
; From the session tile&lt;br /&gt;
: Go to &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; and click &#039;&#039;&#039;Cancel&#039;&#039;&#039; on the session tile.&lt;br /&gt;
&lt;br /&gt;
After stopping, the tile changes to:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE_tile_after.png]]&lt;br /&gt;
&lt;br /&gt;
From here you can:&lt;br /&gt;
* Click the &#039;&#039;&#039;pencil&#039;&#039;&#039; icon to change settings before starting a new session.&lt;br /&gt;
* Click the &#039;&#039;&#039;recycle&#039;&#039;&#039; icon to start a new session with the same settings.&lt;br /&gt;
* Click &#039;&#039;&#039;Delete&#039;&#039;&#039; to remove the session log files.&lt;br /&gt;
&lt;br /&gt;
== Advanced usage ==&lt;br /&gt;
&lt;br /&gt;
=== Customising your session ===&lt;br /&gt;
&lt;br /&gt;
The default launch form keeps things simple. If you need more control, tick &#039;&#039;&#039;Show advanced job options&#039;&#039;&#039; on the launch form to reveal additional settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Desktop_extended_form.png|482x482px]]&lt;br /&gt;
&lt;br /&gt;
Here you can change:&lt;br /&gt;
* The number of CPU cores and amount of memory.&lt;br /&gt;
* The maximum duration of the session.&lt;br /&gt;
* Whether to enable &#039;&#039;&#039;admin rights&#039;&#039;&#039; (see [[#Installing your own software|Installing your own software]] below).&lt;br /&gt;
&lt;br /&gt;
Adjust the settings to match your needs, then click &#039;&#039;&#039;Launch&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
&lt;br /&gt;
If you need software that is not already available through [[Modules|modules]], you can install it yourself. To do so, you need &#039;&#039;administrator privileges&#039;&#039; inside the desktop.&lt;br /&gt;
&lt;br /&gt;
==== Enabling admin rights ====&lt;br /&gt;
&lt;br /&gt;
# On the launch form, tick &#039;&#039;&#039;Show advanced job options&#039;&#039;&#039;.&lt;br /&gt;
# Enable the &#039;&#039;&#039;admin rights&#039;&#039;&#039; option.&lt;br /&gt;
# Click &#039;&#039;&#039;Launch&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When admin rights are enabled, you have full administrator (root) access inside the desktop. You can verify this by opening a terminal: the prompt will show &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; instead of your username.&lt;br /&gt;
&lt;br /&gt;
==== How changes are saved ====&lt;br /&gt;
&lt;br /&gt;
When you use admin rights, any software you install or files you change inside the system directories are saved automatically. The next time you start a desktop session with admin rights, your changes will still be there. This means you only need to install software once.&lt;br /&gt;
&lt;br /&gt;
{{Note|Changes are stored in a personal disk image on the lustre filesystem. If you run into disk-space issues or want a clean start, contact the HPC helpdesk.}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Problem !! What to do&lt;br /&gt;
|-&lt;br /&gt;
| Desktop does not start or stays &#039;&#039;Queued&#039;&#039; for a long time&lt;br /&gt;
| The cluster may be busy. Try requesting fewer resources (cores, memory) or a shorter duration. Also check that you do not already have a session running under &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Screen is black or unresponsive after connecting&lt;br /&gt;
| Try reloading the browser tab. If the problem persists, stop the session and start a new one.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;Connection lost&amp;quot; message appeared unexpectedly&lt;br /&gt;
| Your session may have reached its time limit. Start a new session with a longer duration. If it happens immediately, check &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; for error information.&lt;br /&gt;
|-&lt;br /&gt;
| I accidentally started two desktops&lt;br /&gt;
| Go to &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039;, cancel both sessions, and start a single new one.&lt;br /&gt;
|-&lt;br /&gt;
| I installed software but it is gone after restarting&lt;br /&gt;
| Make sure you launched the session with &#039;&#039;&#039;admin rights&#039;&#039;&#039; enabled. Without admin rights, system-level changes are not preserved.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2713</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2713"/>
		<updated>2026-04-03T12:24:14Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Linux desktop gives you a graphical environment on the Anunna cluster, right inside your web browser. It is useful for running software that needs a screen, such as plotting tools, genome browsers, or graphical editors. You do not need to install anything on your own computer — a web browser and your WUR account are all you need.&lt;br /&gt;
&lt;br /&gt;
The desktop is based on [https://www.xfce.org/ Xfce], a lightweight and user-friendly desktop environment.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Start only one desktop session at a time. Running two sessions simultaneously causes conflicts and neither will work properly. If your desktop seems stuck, check &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; (see [[#Reconnecting to a running desktop|Reconnecting]]) to make sure you do not have a duplicate running.}}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
=== Launching a desktop ===&lt;br /&gt;
&lt;br /&gt;
# Go to http://apps.anunna.wur.nl/.&lt;br /&gt;
# Click the &#039;&#039;&#039;XFCE desktop&#039;&#039;&#039; tile:&lt;br /&gt;
#: [[File:XFCE_tile.png]]&lt;br /&gt;
# A launch form appears:&lt;br /&gt;
#: [[File:Minimal_desktop_form.png]]&lt;br /&gt;
# Enter how long you need the desktop (in hours). The desktop will shut down automatically when the time runs out.&lt;br /&gt;
# Click &#039;&#039;&#039;Launch&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
After a short wait the desktop session will start. Continue to [[#Connecting to your desktop|Connecting to your desktop]] below.&lt;br /&gt;
&lt;br /&gt;
=== Connecting to your desktop ===&lt;br /&gt;
&lt;br /&gt;
Once the session is running you will see an information tile:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE_job_info.png]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;Launch Desktop (XFCE)&#039;&#039;&#039; to open the desktop in your browser.&lt;br /&gt;
&lt;br /&gt;
=== Using the desktop ===&lt;br /&gt;
&lt;br /&gt;
The desktop looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE_desktop.png]]&lt;br /&gt;
&lt;br /&gt;
Along the bottom you will find six shortcut icons:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Show Desktop&#039;&#039;&#039; — minimise all windows&lt;br /&gt;
* &#039;&#039;&#039;Terminal&#039;&#039;&#039; — open a command-line terminal&lt;br /&gt;
* &#039;&#039;&#039;File Browser&#039;&#039;&#039; — browse your files&lt;br /&gt;
* &#039;&#039;&#039;Web Browser&#039;&#039;&#039; — open a web browser inside the desktop&lt;br /&gt;
* &#039;&#039;&#039;Application Search&#039;&#039;&#039; — search for installed applications&lt;br /&gt;
* &#039;&#039;&#039;Home Folder&#039;&#039;&#039; — open your home directory&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Applications&#039;&#039;&#039; menu in the top-left corner gives access to the same applications, plus &#039;&#039;&#039;Settings&#039;&#039;&#039; for desktop preferences.&lt;br /&gt;
&lt;br /&gt;
=== Reconnecting to a running desktop ===&lt;br /&gt;
&lt;br /&gt;
If you close your browser or shut down your computer, the desktop keeps running in the background. To reconnect:&lt;br /&gt;
&lt;br /&gt;
# Go to http://apps.anunna.wur.nl/.&lt;br /&gt;
# Click &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; in the menu bar.&lt;br /&gt;
# Find your running session and click &#039;&#039;&#039;Launch Desktop (XFCE)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Stopping the desktop ===&lt;br /&gt;
&lt;br /&gt;
There are two ways to stop a desktop session:&lt;br /&gt;
&lt;br /&gt;
; From inside the desktop&lt;br /&gt;
: Open the &#039;&#039;&#039;Applications&#039;&#039;&#039; menu (top left) and click &#039;&#039;&#039;Log Out&#039;&#039;&#039; at the bottom. Alternatively, click your name in the top-right corner and choose &#039;&#039;&#039;Log Out&#039;&#039;&#039;. You will see a &amp;quot;Connection lost&amp;quot; message — this is normal and simply means the session has ended.&lt;br /&gt;
&lt;br /&gt;
; From the session tile&lt;br /&gt;
: Go to &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; and click &#039;&#039;&#039;Cancel&#039;&#039;&#039; on the session tile.&lt;br /&gt;
&lt;br /&gt;
After stopping, the tile changes to:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE_tile_after.png]]&lt;br /&gt;
&lt;br /&gt;
From here you can:&lt;br /&gt;
* Click the &#039;&#039;&#039;pencil&#039;&#039;&#039; icon to change settings before starting a new session.&lt;br /&gt;
* Click the &#039;&#039;&#039;recycle&#039;&#039;&#039; icon to start a new session with the same settings.&lt;br /&gt;
* Click &#039;&#039;&#039;Delete&#039;&#039;&#039; to remove the session log files.&lt;br /&gt;
&lt;br /&gt;
== Advanced usage ==&lt;br /&gt;
&lt;br /&gt;
=== Customising your session ===&lt;br /&gt;
&lt;br /&gt;
The default launch form keeps things simple. If you need more control, tick &#039;&#039;&#039;Show advanced job options&#039;&#039;&#039; on the launch form to reveal additional settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Desktop_extended_form.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can change:&lt;br /&gt;
* The number of CPU cores and amount of memory.&lt;br /&gt;
* The maximum duration of the session.&lt;br /&gt;
* Whether to enable &#039;&#039;&#039;admin rights&#039;&#039;&#039; (see [[#Installing your own software|Installing your own software]] below).&lt;br /&gt;
&lt;br /&gt;
Adjust the settings to match your needs, then click &#039;&#039;&#039;Launch&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Using pre-installed software (modules) ===&lt;br /&gt;
&lt;br /&gt;
Software that is available on Anunna via the &amp;lt;code&amp;gt;module load&amp;lt;/code&amp;gt; command works inside the desktop as well. Open a terminal and use modules exactly as you would on the command line. See the [[Modules]] page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
&lt;br /&gt;
If you need software that is not already available through [[Modules|modules]], you can install it yourself. To do so, you need &#039;&#039;administrator privileges&#039;&#039; inside the desktop.&lt;br /&gt;
&lt;br /&gt;
==== Enabling admin rights ====&lt;br /&gt;
&lt;br /&gt;
# On the launch form, tick &#039;&#039;&#039;Show advanced job options&#039;&#039;&#039;.&lt;br /&gt;
# Enable the &#039;&#039;&#039;admin rights&#039;&#039;&#039; option.&lt;br /&gt;
# Click &#039;&#039;&#039;Launch&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When admin rights are enabled, you have full administrator (root) access inside the desktop. You can verify this by opening a terminal: the prompt will show &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; instead of your username.&lt;br /&gt;
&lt;br /&gt;
==== How changes are saved ====&lt;br /&gt;
&lt;br /&gt;
When you use admin rights, any software you install or files you change inside the system directories are saved automatically. The next time you start a desktop session with admin rights, your changes will still be there. This means you only need to install software once.&lt;br /&gt;
&lt;br /&gt;
{{Note|Changes are stored in a personal overlay on the Anunna filesystem. If you run into disk-space issues or want a clean start, contact the HPC helpdesk.}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Problem !! What to do&lt;br /&gt;
|-&lt;br /&gt;
| Desktop does not start or stays &#039;&#039;Queued&#039;&#039; for a long time&lt;br /&gt;
| The cluster may be busy. Try requesting fewer resources (cores, memory) or a shorter duration. Also check that you do not already have a session running under &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Screen is black or unresponsive after connecting&lt;br /&gt;
| Try reloading the browser tab. If the problem persists, stop the session and start a new one.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;Connection lost&amp;quot; message appeared unexpectedly&lt;br /&gt;
| Your session may have reached its time limit. Start a new session with a longer duration. If it happens immediately, check &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039; for error information.&lt;br /&gt;
|-&lt;br /&gt;
| I accidentally started two desktops&lt;br /&gt;
| Go to &#039;&#039;&#039;My Interactive Sessions&#039;&#039;&#039;, cancel both sessions, and start a single new one.&lt;br /&gt;
|-&lt;br /&gt;
| I installed software but it is gone after restarting&lt;br /&gt;
| Make sure you launched the session with &#039;&#039;&#039;admin rights&#039;&#039;&#039; enabled. Without admin rights, system-level changes are not preserved.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2712</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2712"/>
		<updated>2026-03-27T14:48:41Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To enable users to run their own Linux software that has graphical output, we have created a Linux desktop.&lt;br /&gt;
&lt;br /&gt;
The desktop is a [https://www.xfce.org/ Xfce] Desktop Environment. Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important: Only start a single desktop, otherwise things won&#039;t work!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starting a desktop ===&lt;br /&gt;
To start a desktop, go to http://apps.anunna.wur.nl/, and select the desktop tile:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE tile.png|frameless|124x124px]]&lt;br /&gt;
&lt;br /&gt;
===== Default form =====&lt;br /&gt;
This will then start up a form:&lt;br /&gt;
[[File:Minimal desktop form.png|none|thumb]]&lt;br /&gt;
If you click &amp;quot;Launch&amp;quot;, a desktop job will be started with a maximum duration that you entered.&lt;br /&gt;
&lt;br /&gt;
==== Extended form ====&lt;br /&gt;
You can also select the &amp;quot;Show advanced job options&amp;quot;, and then the following form will appear:&lt;br /&gt;
[[File:Desktop extended form.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An important option is that here you can select the &amp;quot;admin rights&amp;quot;. With that you will become super user (root) inside your container.&lt;br /&gt;
&lt;br /&gt;
That way you can install software yourself.&lt;br /&gt;
&lt;br /&gt;
Adapt to what you need, click &amp;quot;Launch&amp;quot;, and a desktop job will be started with the options that you entered.&lt;br /&gt;
=== Getting acces to the desktop ===&lt;br /&gt;
Once the job is started, you will be shown an informational tile like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE job info.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On this tile, you can see info on the job, and also Cancel the job.&lt;br /&gt;
&lt;br /&gt;
To show the running desktop, click on &amp;quot;Launch Desktop (XFCE)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you close your browser or computer, the desktop will keep running, and you can access it again by going to http://apps.anunna.wur.nl/, and select the &amp;quot;My Interactive Session&amp;quot; in the menu bar.&lt;br /&gt;
&lt;br /&gt;
=== XFCE desktop usage ===&lt;br /&gt;
After connecting, the desktop will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE desktop.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the bottom are 6 icons, being &amp;quot;Show Desktop&amp;quot;, &amp;quot;Terminal&amp;quot;, &amp;quot;File browser&amp;quot;, &amp;quot;Web browser&amp;quot;, &amp;quot;Application search&amp;quot; and &amp;quot;Home folder&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top left is the &amp;quot;Applications&amp;quot; menu, where you can find the same applications, and &amp;quot;Settings&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Stopping the desktop ===&lt;br /&gt;
To stop the desktop, there are 2 options:&lt;br /&gt;
&lt;br /&gt;
# By clicking on &amp;quot;Logout&amp;quot; inside the desktop&lt;br /&gt;
## There is a &amp;quot;Logout&amp;quot; button at the bottom of the &amp;quot;Applications&amp;quot; menu (top left)&lt;br /&gt;
## There is a &amp;quot;Logout&amp;quot; button at the bottom of the menu when you click on your name (top right)&lt;br /&gt;
# By clicking &amp;quot;Cancel&amp;quot; on the session tile&lt;br /&gt;
&lt;br /&gt;
If you log out inside the desktop, you will get a &amp;quot;Connection lost&amp;quot; message, as the job got stopped.&lt;br /&gt;
&lt;br /&gt;
If you cancel in the informational tile, the tile will then look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE tile after.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buttons at the top right allow you to change the settings to start another desktop session (the pencil), or to start another desktop session with the same settings as this one (the recycle logo).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Delete&amp;quot; button will remove the debug logs.&lt;br /&gt;
&lt;br /&gt;
=== Running already installed software (using modules) ===&lt;br /&gt;
[[Modules]] just work inside the container, you can use them as you are used.&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
To install your own software, start the container with the &amp;quot;admin rights&amp;quot; option enabled.&lt;br /&gt;
&lt;br /&gt;
This will create an overlay container, stored on lustre, so any changes you make will be preserved between startups.&lt;br /&gt;
&lt;br /&gt;
Beside that, you will be super user inside the container.&lt;br /&gt;
&lt;br /&gt;
That is easy to spot if you open a terminal. Instead of your username, you will see root as the active user.&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:Desktop_extended_form.png&amp;diff=2711</id>
		<title>File:Desktop extended form.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:Desktop_extended_form.png&amp;diff=2711"/>
		<updated>2026-03-27T14:39:06Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;desktop_extended_form&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:Minimal_desktop_form.png&amp;diff=2710</id>
		<title>File:Minimal desktop form.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:Minimal_desktop_form.png&amp;diff=2710"/>
		<updated>2026-03-27T14:37:47Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;minimal_desktop_form&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2709</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2709"/>
		<updated>2026-03-25T13:16:13Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WUR employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on your choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There are three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password for each new SSH session (use SSH agent to cache passphrase; no PIN or touch required per-session)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option. If your hardware key does not support ed25519-sk, use &amp;lt;code&amp;gt;-t ecdsa-sk&amp;lt;/code&amp;gt; as a fallback.&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 user001@LAPTOP:~$ ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna -C &amp;quot;first.lastname@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/home/user001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/home/user001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /home/user001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /home/user001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/home/user001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Key use ====&lt;br /&gt;
On the machine that you created the key, a stub file will have been added to point ssh-agent to the hardware key. If the SSH agent was already running at the time of key creation, you may need to run &amp;lt;code&amp;gt;ssh-add ~/.ssh/id_ed25519_sk&amp;lt;/code&amp;gt; once to load it manually.&lt;br /&gt;
&lt;br /&gt;
On other machines, you can load the private SSH key from the hardware key with (requires OpenSSH ≥ 8.3):&lt;br /&gt;
 ssh-add -K &lt;br /&gt;
After this all, you should be able to login without issue.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to replace the MacOS ssh-agent with the one from openssh.&lt;br /&gt;
&lt;br /&gt;
First, download and inspect the LaunchAgent plist before loading it:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Get the plist&lt;br /&gt;
curl --output ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist https://gist.githubusercontent.com/partikus/cd45013b1274af8ae63b17030d89176c/raw/d34dfae3872dec38137e8a51780fbcb95380034c/com.homebrew.ssh-agent.plist &lt;br /&gt;
# Review the file contents before proceeding&lt;br /&gt;
cat ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The content should look like this:&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple Computer//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dict&amp;gt;&lt;br /&gt;
	&amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;&lt;br /&gt;
	&amp;lt;string&amp;gt;com.homebrew.ssh-agent&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;&lt;br /&gt;
	&amp;lt;array&amp;gt;&lt;br /&gt;
		&amp;lt;string&amp;gt;/bin/sh&amp;lt;/string&amp;gt;&lt;br /&gt;
		&amp;lt;string&amp;gt;-c&amp;lt;/string&amp;gt;&lt;br /&gt;
		&amp;lt;!-- We reuse SSH_AUTH_SOCK from com.openssh.ssh-agent --&amp;gt;&lt;br /&gt;
		&amp;lt;string&amp;gt;rm -f $SSH_AUTH_SOCK; exec /opt/homebrew/bin/ssh-agent -D -a $SSH_AUTH_SOCK&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;/array&amp;gt;&lt;br /&gt;
	&amp;lt;key&amp;gt;RunAtLoad&amp;lt;/key&amp;gt;&lt;br /&gt;
	&amp;lt;true/&amp;gt;&lt;br /&gt;
&amp;lt;/dict&amp;gt;&lt;br /&gt;
&amp;lt;/plist&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;Then load it and disable the Apple agent:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# enable the homebrew ssh-agent &lt;br /&gt;
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
&lt;br /&gt;
# disable the default ssh-agent&lt;br /&gt;
launchctl disable gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
launchctl stop gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
&lt;br /&gt;
# verify installation (you should see com.homebrew.ssh-agent)&lt;br /&gt;
launchctl list | grep ssh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;If there are issues with the MacOS ssh-agent, try a reboot, do another verify, and only the homebrew one should be present.&lt;br /&gt;
&lt;br /&gt;
After this, open a new terminal. Verify that &amp;lt;code&amp;gt;$SSH_AUTH_SOCK&amp;lt;/code&amp;gt; points to the Homebrew agent socket (not the Apple one) before continuing:&lt;br /&gt;
 echo $SSH_AUTH_SOCK&lt;br /&gt;
Then follow the Linux flow above.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2708</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2708"/>
		<updated>2026-03-25T13:12:48Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WUR employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on your choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There are three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password for each new SSH session (use SSH agent to cache passphrase; no PIN or touch required per-session)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option. If your hardware key does not support ed25519-sk, use &amp;lt;code&amp;gt;-t ecdsa-sk&amp;lt;/code&amp;gt; as a fallback.&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 user001@LAPTOP:~$ ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna -C &amp;quot;first.lastname@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/home/user001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/home/user001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /home/user001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /home/user001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/home/user001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
==== Key use ====&lt;br /&gt;
On the machine that you created the key, a stub file will have been added to point ssh-agent to the hardware key. If the SSH agent was already running at the time of key creation, you may need to run &amp;lt;code&amp;gt;ssh-add ~/.ssh/id_ed25519_sk&amp;lt;/code&amp;gt; once to load it manually.&lt;br /&gt;
&lt;br /&gt;
On other machines, you can load the private SSH key from the hardware key with (requires OpenSSH ≥ 8.3):&lt;br /&gt;
 ssh-add -K &lt;br /&gt;
After this all, you should be able to login without issue.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to replace the MacOS ssh-agent with the one from openssh.&lt;br /&gt;
&lt;br /&gt;
First, download and inspect the LaunchAgent plist before loading it:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Get the plist&lt;br /&gt;
curl --output ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist https://gist.githubusercontent.com/partikus/cd45013b1274af8ae63b17030d89176c/raw/d34dfae3872dec38137e8a51780fbcb95380034c/com.homebrew.ssh-agent.plist &lt;br /&gt;
# Review the file contents before proceeding&lt;br /&gt;
cat ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The content should look like this:&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple Computer//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dict&amp;gt;&lt;br /&gt;
	&amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;&lt;br /&gt;
	&amp;lt;string&amp;gt;com.homebrew.ssh-agent&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;&lt;br /&gt;
	&amp;lt;array&amp;gt;&lt;br /&gt;
		&amp;lt;string&amp;gt;/bin/sh&amp;lt;/string&amp;gt;&lt;br /&gt;
		&amp;lt;string&amp;gt;-c&amp;lt;/string&amp;gt;&lt;br /&gt;
		&amp;lt;!-- We reuse SSH_AUTH_SOCK from com.openssh.ssh-agent --&amp;gt;&lt;br /&gt;
		&amp;lt;string&amp;gt;rm -f $SSH_AUTH_SOCK; exec /opt/homebrew/bin/ssh-agent -D -a $SSH_AUTH_SOCK&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;/array&amp;gt;&lt;br /&gt;
	&amp;lt;key&amp;gt;RunAtLoad&amp;lt;/key&amp;gt;&lt;br /&gt;
	&amp;lt;true/&amp;gt;&lt;br /&gt;
&amp;lt;/dict&amp;gt;&lt;br /&gt;
&amp;lt;/plist&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;Then load it and disable the Apple agent:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# enable the homebrew ssh-agent &lt;br /&gt;
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
&lt;br /&gt;
# disable the default ssh-agent&lt;br /&gt;
launchctl disable gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
launchctl stop gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
&lt;br /&gt;
# verify installation (you should see com.homebrew.ssh-agent)&lt;br /&gt;
launchctl list | grep ssh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;If there are issues with the MacOS ssh-agent, try a reboot, do another verify, and only the homebrew one should be present.&lt;br /&gt;
&lt;br /&gt;
After this, open a new terminal. Verify that &amp;lt;code&amp;gt;$SSH_AUTH_SOCK&amp;lt;/code&amp;gt; points to the Homebrew agent socket (not the Apple one) before continuing:&lt;br /&gt;
 echo $SSH_AUTH_SOCK&lt;br /&gt;
Then follow the Linux flow above.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2707</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2707"/>
		<updated>2026-03-25T13:06:09Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WUR employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password for each new SSH session (use SSH agent to cache passphrase; no PIN or touch required per-session)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option. If your hardware key does not support ed25519-sk, use &amp;lt;code&amp;gt;-t ecdsa-sk&amp;lt;/code&amp;gt; as a fallback.&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 user001@LAPTOP:~$ ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna -C &amp;quot;first.lastname@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/home/user001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/home/user001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /home/user001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /home/user001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/home/user001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
==== Key use ====&lt;br /&gt;
On the machine that you created the key, a stub file will have been added to point ssh-agent to the hardware key. If the SSH agent was already running at the time of key creation, you may need to run &amp;lt;code&amp;gt;ssh-add ~/.ssh/id_ed25519_sk&amp;lt;/code&amp;gt; once to load it manually.&lt;br /&gt;
&lt;br /&gt;
On other machines, you can load the private SSH key from the hardware key with (requires OpenSSH ≥ 8.3):&lt;br /&gt;
 ssh-add -K &lt;br /&gt;
After this all, you should be able to login without issue.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to replace the MacOS ssh-agent with the one from openssh.&lt;br /&gt;
&lt;br /&gt;
First, download and inspect the LaunchAgent plist before loading it:&lt;br /&gt;
 curl --output ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist &amp;lt;nowiki&amp;gt;https://gist.githubusercontent.com/partikus/cd45013b1274af8ae63b17030d89176c/raw/d34dfae3872dec38137e8a51780fbcb95380034c/com.homebrew.ssh-agent.plist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 # Review the file contents before proceeding&lt;br /&gt;
 cat ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
&lt;br /&gt;
Then load it and disable the Apple agent:&lt;br /&gt;
 # disable the default ssh-agent&lt;br /&gt;
 launchctl disable gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 launchctl stop gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 &lt;br /&gt;
 # enable the homebrew ssh-agent &lt;br /&gt;
 launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
 &lt;br /&gt;
 # verify installation (you should see com.homebrew.ssh-agent)&lt;br /&gt;
 launchctl list | grep ssh&lt;br /&gt;
If there are issues with the MacOS ssh-agent, try a reboot, do another verify, and only the homebrew one should be present.&lt;br /&gt;
&lt;br /&gt;
After this, open a new terminal. Verify that &amp;lt;code&amp;gt;$SSH_AUTH_SOCK&amp;lt;/code&amp;gt; points to the Homebrew agent socket (not the Apple one) before continuing:&lt;br /&gt;
 echo $SSH_AUTH_SOCK&lt;br /&gt;
Then follow the Linux flow above.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Tapeworm&amp;diff=2671</id>
		<title>Tapeworm</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Tapeworm&amp;diff=2671"/>
		<updated>2026-03-03T17:31:45Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Don&amp;#039;t flow text around images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tapeworm: Automated tape-archival of old datasets =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #d32f2f; background:#ffebee; padding:12px; margin:12px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;margin:8px 0 0 18px;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;This documentation page is under construction and may contain errors.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;The Tapeworm application is in beta and may contain errors.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== https://tapeworm.anunna.wur.nl/ ===&lt;br /&gt;
&lt;br /&gt;
Tapeworm helps you manage data on &amp;lt;code&amp;gt;/archive&amp;lt;/code&amp;gt; by identifying datasets that are no longer actively used and preparing them for tape archival.  &lt;br /&gt;
The goal is simple: keep our warm storage available for active work, while safely preserving older data on tape.&lt;br /&gt;
&lt;br /&gt;
With Tapeworm, you can:&lt;br /&gt;
* See which of your datasets are being considered for tape archival&lt;br /&gt;
* Review planned moves before they happen&lt;br /&gt;
* Approve, snooze, or block moves when needed&lt;br /&gt;
* Add metadata to help describe archived datasets. The metadata is included on tape and can be used to view/retrieve from tape, should you need to do so in the future&lt;br /&gt;
&lt;br /&gt;
If you do nothing, Tapeworm will continue with the planned move after the review period.  &lt;br /&gt;
That is why we recommend checking your pending actions regularly. You will also receive notification emails about pending actions.&lt;br /&gt;
&lt;br /&gt;
== How Tapeworm works ==&lt;br /&gt;
&lt;br /&gt;
# Tapeworm scans &amp;lt;code&amp;gt;/archive&amp;lt;/code&amp;gt; and builds an index of datasets, size, owner, and last active use.&lt;br /&gt;
# A policy engine checks which datasets look stale (for example: 30+ days old and larger than 1GB).&lt;br /&gt;
# Matching datasets are marked as &amp;lt;b&amp;gt;planned&amp;lt;/b&amp;gt; and shown in your overview.&lt;br /&gt;
# You will be notified by email that Tapeworm plans to move data you own&lt;br /&gt;
# You can review and change what should happen, or block the move(s) entirely&lt;br /&gt;
# If no action is taken, after a wait period of 4 weeks, planned moves can become scheduled and then executed.&lt;br /&gt;
# Data is moved to tape, and removed from /archive/&lt;br /&gt;
&lt;br /&gt;
== Who sees what? ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Regular users&amp;lt;/b&amp;gt; see only their own datasets and actions.&lt;br /&gt;
* &amp;lt;b&amp;gt;Group admins/contacts&amp;lt;/b&amp;gt; see data for their configured group(s), in addition to their own data.&lt;br /&gt;
&lt;br /&gt;
== User pages ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Overview ===&lt;br /&gt;
This is your action page. It shows items that currently need your decision.&lt;br /&gt;
&lt;br /&gt;
[[File:User overview 3.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
For each candidate, you can:&lt;br /&gt;
* &amp;lt;b&amp;gt;Approve&amp;lt;/b&amp;gt;: proceed with the tape move. It will schedule for the next day&lt;br /&gt;
* &amp;lt;b&amp;gt;Deny&amp;lt;/b&amp;gt;: stop this move, configure an override for this path. Tapeworm will not try to move this dataset/path again, until you choose to remove the override&lt;br /&gt;
* &amp;lt;b&amp;gt;Snooze&amp;lt;/b&amp;gt;: postpone the decision to a future date&lt;br /&gt;
* &amp;lt;b&amp;gt;Edit metadata&amp;lt;/b&amp;gt;: add key/value notes for archived data. These values are included on tape and can be used to view/retrieve datasets on tape&lt;br /&gt;
&lt;br /&gt;
You can also select multiple rows and apply actions in bulk.&lt;br /&gt;
&lt;br /&gt;
=== 2) Datasets ===&lt;br /&gt;
This page shows your discovered datasets, their sizes, and last activity times. The application has no concept of what data belongs together and should be considered a &#039;dataset&#039;. If the selections on this page are wrong, you can change how Tapeworm should handle these datasets instead.&lt;br /&gt;
&lt;br /&gt;
[[File:User datasets.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
Important:&lt;br /&gt;
* If a dataset already has an active move candidate, scheduling controls are disabled.&lt;br /&gt;
 The dataset list is informational; move decisions are handled through the Schedule page.&lt;br /&gt;
&lt;br /&gt;
=== 3) Schedule ===&lt;br /&gt;
This page shows move candidates and their status over time.&lt;br /&gt;
&lt;br /&gt;
[[File:User schedule.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
Common statuses:&lt;br /&gt;
* &amp;lt;b&amp;gt;Planned&amp;lt;/b&amp;gt; (or &amp;lt;b&amp;gt;planned + notified&amp;lt;/b&amp;gt;): under review&lt;br /&gt;
* &amp;lt;b&amp;gt;Scheduled&amp;lt;/b&amp;gt;: move is planned for a specific date&lt;br /&gt;
* &amp;lt;b&amp;gt;Executing / Tape staged / On tape&amp;lt;/b&amp;gt;: move is in progress or completed&lt;br /&gt;
* &amp;lt;b&amp;gt;Error&amp;lt;/b&amp;gt;: move needs admin attention. You may be contacted, maybe we resolve it ourselves :)&lt;br /&gt;
&lt;br /&gt;
Once a move is already executing or completed, schedule-changing actions are locked.&lt;br /&gt;
&lt;br /&gt;
=== 4) Overrides ===&lt;br /&gt;
Overrides tell Tapeworm to ignore specific paths in future planning.&lt;br /&gt;
&lt;br /&gt;
[[File:User override.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
Use overrides when:&lt;br /&gt;
* a project is still active and needs to remain on /archive&lt;br /&gt;
* policy suggestions are not appropriate for that location&lt;br /&gt;
&lt;br /&gt;
If you agree that the dataset can in principle be moved to tape, but you don&#039;t (yet) know when, you can choose to postpone/snooze the archival instead of overriding it.&lt;br /&gt;
&lt;br /&gt;
Overrides apply to the selected path and everything below it.&lt;br /&gt;
&lt;br /&gt;
=== 5) History ===&lt;br /&gt;
This page shows completed archival moves.  &lt;br /&gt;
When a dataset has been successfully archived and finalized, it is removed from active scheduling pages and moved into history.&lt;br /&gt;
&lt;br /&gt;
[[File:User history.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
== Group pages ==&lt;br /&gt;
&lt;br /&gt;
Group admins have a separate set of pages for their group scope:&lt;br /&gt;
* &amp;lt;b&amp;gt;Group overview&amp;lt;/b&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Group datasets&amp;lt;/b&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Group schedule&amp;lt;/b&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Group overrides&amp;lt;/b&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Group history&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you manage more than one group, you can switch group scope in the selector at the top of the group pages.&lt;br /&gt;
&lt;br /&gt;
== Notifications (email) ==&lt;br /&gt;
&lt;br /&gt;
Tapeworm sends email updates when actions are pending, dates are approaching, or move state changes happen.&lt;br /&gt;
&lt;br /&gt;
Emails typically include:&lt;br /&gt;
* Dataset path&lt;br /&gt;
* Size&lt;br /&gt;
* Last activity&lt;br /&gt;
* Current status&lt;br /&gt;
* Review/scheduled date&lt;br /&gt;
&lt;br /&gt;
Notification types you may receive:&lt;br /&gt;
* &amp;lt;b&amp;gt;Action required&amp;lt;/b&amp;gt;: please approve, snooze, or deny&lt;br /&gt;
* &amp;lt;b&amp;gt;Reminder&amp;lt;/b&amp;gt;: review date is approaching&lt;br /&gt;
* &amp;lt;b&amp;gt;Informational&amp;lt;/b&amp;gt;: move status changed (for example scheduled, staging, or completed)&lt;br /&gt;
* &amp;lt;b&amp;gt;Escalation&amp;lt;/b&amp;gt;: sent to group contacts when no user response is received&lt;br /&gt;
&lt;br /&gt;
Please read these emails carefully — they are your chance to adjust decisions before execution.&lt;br /&gt;
&lt;br /&gt;
== Best practices for users ==&lt;br /&gt;
&lt;br /&gt;
* Check your &amp;lt;b&amp;gt;Overview&amp;lt;/b&amp;gt; page regularly&lt;br /&gt;
* Use &amp;lt;b&amp;gt;Snooze&amp;lt;/b&amp;gt; if you need time to validate impact&lt;br /&gt;
* Add &amp;lt;b&amp;gt;metadata&amp;lt;/b&amp;gt; when approving important datasets&lt;br /&gt;
* Use &amp;lt;b&amp;gt;Overrides&amp;lt;/b&amp;gt; for known and persisting exceptions&lt;br /&gt;
* If unsure, contact HPC support before a scheduled move date&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== What happens if I do nothing? ===&lt;br /&gt;
Planned items can move forward automatically after the review window (4 weeks)&lt;br /&gt;
&lt;br /&gt;
=== Can I undo after tape staging? ===&lt;br /&gt;
Not directly in Tapeworm. Retrieval is done via the tape/iRODS workflow.&lt;br /&gt;
See: https://irods.wur.nl/userguide/tape_retrieval/&lt;br /&gt;
&lt;br /&gt;
=== What does “completed” mean? ===&lt;br /&gt;
Completed means Tapeworm saw the tape workflow finish and finalized the move.  &lt;br /&gt;
Before finalization, the system verifies the archive in iRODS and only then removes the staged source copy.&lt;br /&gt;
&lt;br /&gt;
=== Why is an action button disabled? ===&lt;br /&gt;
Usually because the move has already progressed (executing/staged/on tape/error), so schedule edits are no longer valid.&lt;br /&gt;
&lt;br /&gt;
=== Why do I see “planned + notified”? ===&lt;br /&gt;
That means the dataset move is planned and a notification has already been sent.&lt;br /&gt;
&lt;br /&gt;
== Need help? ==&lt;br /&gt;
If anything is unclear, or you think a move is incorrect but you cannot alter it in the provided GUI, please open an HPC support ticket.&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2670</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2670"/>
		<updated>2026-03-03T17:24:35Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/Users/haars001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
==== Key use ====&lt;br /&gt;
On the machine that you created the key, there will be a stub file added to point ssh-agent to the hardware key, so that machine should work out of the box.&lt;br /&gt;
&lt;br /&gt;
On other machines, you can load the private SSH key from the hardware key with&lt;br /&gt;
 ssh-add -K &lt;br /&gt;
After this all, you should be able to login without issue.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to replace the MacOS ssh-agent with the one from openssh:&lt;br /&gt;
 # Download the plist&lt;br /&gt;
 curl --silent --output ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist &amp;lt;nowiki&amp;gt;https://gist.githubusercontent.com/partikus/cd45013b1274af8ae63b17030d89176c/raw/d34dfae3872dec38137e8a51780fbcb95380034c/com.homebrew.ssh-agent.plist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # disable the default ssh-agent&lt;br /&gt;
 launchctl disable gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 launchctl stop gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 &lt;br /&gt;
 # enable the homebrew ssh-agent &lt;br /&gt;
 launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
 &lt;br /&gt;
 # verify installation (you should see com.homebrew.ssh-agent)&lt;br /&gt;
 launchctl list | grep ssh&lt;br /&gt;
If there are issues with the MacOS ssh-agent, try a reboot, do another verify, and only the homebrew one should be present.&lt;br /&gt;
&lt;br /&gt;
After this, open a new terminal , and follow the Linux flow.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2669</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2669"/>
		<updated>2026-03-03T17:21:12Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/Users/haars001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
Key use&lt;br /&gt;
&lt;br /&gt;
On the machine that you created the key, there will be a stub file added to point ssh-agent to the hardware key, so that machine should work out of the box.&lt;br /&gt;
&lt;br /&gt;
On other machines, you can load the private SSH key from the hardware key with&lt;br /&gt;
 ssh-add -K &lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to replace the MacOS ssh-agent with the one from openssh:&lt;br /&gt;
 # Download the plist&lt;br /&gt;
 curl --silent --output ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist &amp;lt;nowiki&amp;gt;https://gist.githubusercontent.com/partikus/cd45013b1274af8ae63b17030d89176c/raw/d34dfae3872dec38137e8a51780fbcb95380034c/com.homebrew.ssh-agent.plist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # disable the default ssh-agent&lt;br /&gt;
 launchctl disable gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 launchctl stop gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 &lt;br /&gt;
 # enable the homebrew ssh-agent &lt;br /&gt;
 launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
 &lt;br /&gt;
 # verify installation (you should see com.homebrew.ssh-agent)&lt;br /&gt;
 launchctl list | grep ssh&lt;br /&gt;
If there are issues with the MacOS ssh-agent, try a reboot, do another verify, and only the homebrew one should be present.&lt;br /&gt;
&lt;br /&gt;
After this, open a new terminal , and follow the Linux flow.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=User:Haars001&amp;diff=2664</id>
		<title>User:Haars001</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=User:Haars001&amp;diff=2664"/>
		<updated>2026-03-03T13:19:03Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jan van Haarst ==&lt;br /&gt;
&lt;br /&gt;
I am one of the admins of the HPC.&lt;br /&gt;
== See also ==&lt;br /&gt;
[[List_of_users | List of users of the HPC Agrogenomics]]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2663</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2663"/>
		<updated>2026-03-03T13:10:36Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/Users/haars001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to replace the MacOS ssh-agent with the one from openssh:&lt;br /&gt;
 # Download the plist&lt;br /&gt;
 curl --silent --output ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist &amp;lt;nowiki&amp;gt;https://gist.githubusercontent.com/partikus/cd45013b1274af8ae63b17030d89176c/raw/d34dfae3872dec38137e8a51780fbcb95380034c/com.homebrew.ssh-agent.plist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # disable the default ssh-agent&lt;br /&gt;
 launchctl disable gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 launchctl stop gui/$UID/com.openssh.ssh-agent&lt;br /&gt;
 &lt;br /&gt;
 # enable the homebrew ssh-agent &lt;br /&gt;
 launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.homebrew.ssh-agent.plist&lt;br /&gt;
 &lt;br /&gt;
 # verify installation (you should see com.homebrew.ssh-agent)&lt;br /&gt;
 launchctl list | grep ssh&lt;br /&gt;
If there are issues with the MacOS ssh-agent, try a reboot, do another verify, and only the homebrew one should be present.&lt;br /&gt;
&lt;br /&gt;
After this, open a new terminal , and follow the Linux flow.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2662</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2662"/>
		<updated>2026-03-03T11:39:55Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/Users/haars001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to add this snippet to your .zshrc file, otherwise the default ssh-agent will be used:&lt;br /&gt;
 # Use Homebrew&#039;s ssh-agent instead of Apple&#039;s&lt;br /&gt;
 if [ -z &amp;quot;$SSH_AGENT_PID&amp;quot; ] || ! ps -p &amp;quot;$SSH_AGENT_PID&amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
     # Kill Apple&#039;s agent&lt;br /&gt;
     pkill -u $USER /usr/bin/ssh-agent 2&amp;gt;/dev/null&lt;br /&gt;
     # Start Homebrew&#039;s&lt;br /&gt;
     eval &amp;quot;$($(brew --prefix openssh)/bin/ssh-agent -s)&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
After this, open a new terminal , and follow the Linux flow.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2661</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2661"/>
		<updated>2026-03-03T11:38:45Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/Users/haars001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to add this snippet to your .zshrc file, otherwise the default ssh-agent will be used:&lt;br /&gt;
 # Use Homebrew&#039;s ssh-agent instead of Apple&#039;s&lt;br /&gt;
 if [ -z &amp;quot;$SSH_AGENT_PID&amp;quot; ] || ! ps -p &amp;quot;$SSH_AGENT_PID&amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
     # Kill Apple&#039;s agent&lt;br /&gt;
     pkill -u $USER /usr/bin/ssh-agent 2&amp;gt;/dev/null&lt;br /&gt;
     # Start Homebrew&#039;s&lt;br /&gt;
     eval &amp;quot;$($(brew --prefix openssh)/bin/ssh-agent -s)&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2660</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2660"/>
		<updated>2026-03-03T11:38:13Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
==== Copy your key: ====&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/Users/haars001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh -o ClearAllForwardings=yes login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to add this snippet to your .zshrc file, otherwise the default ssh-agent will be used:&lt;br /&gt;
 # Use Homebrew&#039;s ssh-agent instead of Apple&#039;s&lt;br /&gt;
 if [ -z &amp;quot;$SSH_AGENT_PID&amp;quot; ] || ! ps -p &amp;quot;$SSH_AGENT_PID&amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
     # Kill Apple&#039;s agent&lt;br /&gt;
     pkill -u $USER /usr/bin/ssh-agent 2&amp;gt;/dev/null&lt;br /&gt;
     # Start Homebrew&#039;s&lt;br /&gt;
     eval &amp;quot;$($(brew --prefix openssh)/bin/ssh-agent -s)&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2659</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2659"/>
		<updated>2026-03-03T11:37:45Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy your key:&lt;br /&gt;
&lt;br /&gt;
To be able to log in, the server will have to have the public part of your key.&lt;br /&gt;
&lt;br /&gt;
For that, copy the contents of your public key, in my case &amp;lt;code&amp;gt;/Users/haars001/.ssh/id_ed25519_sk.pub&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow touchless entry, we&#039;ll need to tell the SSH daemon to allow that:&lt;br /&gt;
 # Copy over key&lt;br /&gt;
 ssh -o ClearAllForwardings=yes login.anunna.wur.nl &amp;quot;umask 0077; mkdir -p ~/.ssh; echo &#039;no-touch-required $(cat ~/.ssh/id_ed25519_sk.pub)&#039; &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
 # Check for key&lt;br /&gt;
 ssh login.anunna.wur.nl &#039;tail -1 .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
For MacOS, we can mostly do the same as for Linux, except that we will have to install openssh, as the default SSH stack doesn&#039;t work with hardware keys.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
 brew install openssh&lt;br /&gt;
Besides that, you will have to add this snippet to your .zshrc file, otherwise the default ssh-agent will be used:&lt;br /&gt;
 # Use Homebrew&#039;s ssh-agent instead of Apple&#039;s&lt;br /&gt;
 if [ -z &amp;quot;$SSH_AGENT_PID&amp;quot; ] || ! ps -p &amp;quot;$SSH_AGENT_PID&amp;quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
     # Kill Apple&#039;s agent&lt;br /&gt;
     pkill -u $USER /usr/bin/ssh-agent 2&amp;gt;/dev/null&lt;br /&gt;
     # Start Homebrew&#039;s&lt;br /&gt;
     eval &amp;quot;$($(brew --prefix openssh)/bin/ssh-agent -s)&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
(needs to be filled by a Windows user)&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2658</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2658"/>
		<updated>2026-03-03T11:17:02Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Employees can get a Yubikey hardware key for free at the servicedesk in Forum.&lt;br /&gt;
&lt;br /&gt;
With that key, you can implement multifactor authentication for your SSH connections.&lt;br /&gt;
&lt;br /&gt;
Depending on you choices and setup, you can make it very secure, so that without the key, pin and password your SSH key won&#039;t be able to be used.&lt;br /&gt;
&lt;br /&gt;
The steps below are adaptations of https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html &lt;br /&gt;
&lt;br /&gt;
=== Different levels of security/annoyance ===&lt;br /&gt;
There are different levels of security you can apply, each being more secure, but also introducing an extra step before you have an active session.&lt;br /&gt;
&lt;br /&gt;
There a three &amp;quot;interactions&amp;quot; that can be used:&lt;br /&gt;
&lt;br /&gt;
# Enforce/use a password to unlock your SSH key&lt;br /&gt;
# Enforce/use a PIN to unlock the hardware key&lt;br /&gt;
# Enforce/use touching the hardware key to get access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This then leads to the following 4 scenarios:&lt;br /&gt;
&lt;br /&gt;
# Use SSH key password, pin and touch for each new SSH session (no SSH agent)&lt;br /&gt;
# Use pin and touch for each new SSH session (use SSH agent for password)&lt;br /&gt;
# Use touch for each new SSH session (use SSH agent for password, but no PIN enforcement in key)&lt;br /&gt;
# Use SSH key password and touch for first SSH session (pass in SSH agent, no PIN and touch enforcement in key)&lt;br /&gt;
&lt;br /&gt;
The last one is the least intrusive, and as an attacker would need physical access to your device to circumvent your security, this is probably fine for most people.&lt;br /&gt;
&lt;br /&gt;
This is thus the scenario that we&#039;ll describe below in detail.&lt;br /&gt;
&lt;br /&gt;
For scenario 1 &amp;amp; 2, add &amp;lt;code&amp;gt;-O verify-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce PIN enforcement in key.&lt;br /&gt;
&lt;br /&gt;
For scenarios 1, 2 &amp;amp; 3, do not add &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; command to enforce touch enforcement in key.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Create your key: ====&lt;br /&gt;
(do this on your laptop or desktop)&lt;br /&gt;
 ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&lt;br /&gt;
The options are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-t ed25519-sk&amp;lt;/code&amp;gt; : Type of key, this is the more secure option&lt;br /&gt;
* &amp;lt;code&amp;gt;-O resident&amp;lt;/code&amp;gt; : Store the SSH key on your hardware key, makes it easier to use on another machine&lt;br /&gt;
* &amp;lt;code&amp;gt;-O no-touch-required&amp;lt;/code&amp;gt; : No need to touch the hardware key every time&lt;br /&gt;
* &amp;lt;code&amp;gt;-O application=ssh:anunna.wur.nl&amp;lt;/code&amp;gt; : identifier for the key on your hardware key&lt;br /&gt;
* &amp;lt;code&amp;gt;-C &amp;quot;[Your comment to identify this key on the server]&amp;quot;&amp;lt;/code&amp;gt; : identifier for the key on the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example exchange looks like this:&lt;br /&gt;
 haars001@L0160372:~ % ssh-keygen -t ed25519-sk -O resident -O no-touch-required -O application=ssh:anunna.wur.nl -C &amp;quot;jan.vanhaarst@wur.nl&amp;quot;&lt;br /&gt;
 Generating public/private ed25519-sk key pair.&lt;br /&gt;
 You may need to touch your authenticator to authorize key generation.&lt;br /&gt;
 Enter PIN for authenticator:&lt;br /&gt;
 You may need to touch your authenticator again to authorize key generation.&lt;br /&gt;
 Enter file in which to save the key (/Users/haars001/.ssh/id_ed25519_sk):&lt;br /&gt;
 Enter passphrase for &amp;quot;/Users/haars001/.ssh/id_ed25519_sk&amp;quot; (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in /Users/haars001/.ssh/id_ed25519_sk&lt;br /&gt;
 Your public key has been saved in /Users/haars001/.ssh/id_ed25519_sk.pub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy your key:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2657</id>
		<title>Using a hardware key for better security</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Using_a_hardware_key_for_better_security&amp;diff=2657"/>
		<updated>2026-03-03T09:53:40Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Created page with &amp;quot;Stub&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Ssh_without_password&amp;diff=2656</id>
		<title>Ssh without password</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Ssh_without_password&amp;diff=2656"/>
		<updated>2026-03-03T09:53:16Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Secure shell (ssh) protocols can be configure to work without entering your password every time. This is particularly helpful for machines that are used often.&lt;br /&gt;
Although we mention that you can use SSH keys without passwords, that is something you should really not do, if someone gets a hold of your keys (without password), they can access our servers as if they are you, and thus incur costs/manage or delete data in your name.&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password from a POSIX-compliant terminal ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: create a public key and copy to remote computer ===&lt;br /&gt;
* Log into WSL, a local Linux or MacOSX computer&lt;br /&gt;
* Type the following to generate the ssh key:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-keygen -t ed25519 -a 200 -C $USER@$(hostname)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Accept the default key location by pressing &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Please use a &#039;&#039;&#039;different&#039;&#039;&#039; password/passphrase for your SSH key than your WUR password.&lt;br /&gt;
* Secure permission of your authentication keys by closing permission to your home directory, .ssh directory, and authentication files&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod go-wx $HOME&lt;br /&gt;
chmod 700 $HOME/.ssh&lt;br /&gt;
chmod 600 $HOME/.ssh/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Type the following to copy the key to the remote server (this will prompt for a password).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id remote_username@remote_host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password for Anunna ==&lt;br /&gt;
&lt;br /&gt;
* Create a public key as in Step 1 of the previous section and copy it to Anunna. Note that a public/private key pair needs to be made only once per machine.&lt;br /&gt;
* Similar to step 2 of the previous section, add the public key to the &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys2&amp;lt;/code&amp;gt; file. There is already a &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt; present. You may append the key to this file as an alternative, but take care not to remove content that is already there. The cluster is configured so that passwordless communication will all other nodes is default.&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password using PuTTY ==&lt;br /&gt;
Use &#039;&#039;&#039;pageant&#039;&#039;&#039;: http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter9.html to generate local keys. You&#039;ll want have a copy of the pubkey in plaintext available.&lt;br /&gt;
&lt;br /&gt;
Make sure to paste that plaintext string into ~/.ssh/authorized_keys in one single line. Chmod the file 600 (so it shows -rw------- in ls -l) and the directory .ssh to 700 (drwx------).&lt;br /&gt;
&lt;br /&gt;
Now PuTTY will login passwordlessly whenever &#039;&#039;&#039;pageant&#039;&#039;&#039; is running.&lt;br /&gt;
&lt;br /&gt;
Finally, get &#039;&#039;&#039;pageant&#039;&#039;&#039; to load on startup: http://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html&lt;br /&gt;
== Configuring ssh without password using MobaXterm ==&lt;br /&gt;
&lt;br /&gt;
Have a look here: https://docs.gcc.rug.nl/hyperchicken/generate-key-pair-mobaxterm/&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password using WinSCP ==&lt;br /&gt;
WinSCP has provided a detailed instruction in https://winscp.net/eng/docs/public_key, and https://winscp.net/eng/docs/ui_login_authentication&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password on a Mac ==&lt;br /&gt;
* Create a public key as in Step 1 of the first section and copy it to Anunna.&lt;br /&gt;
* Add the passphrase that you entered above to the keychain on your mac:&lt;br /&gt;
 ssh-add -K /path/to/private/key/file&lt;br /&gt;
&lt;br /&gt;
== Selecting which settings to use ==&lt;br /&gt;
&lt;br /&gt;
To have your SSH client to use certain settings, one can use a config file, at ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
For example :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Host *.wurnet.nl *.wur.nl &lt;br /&gt;
    User                    haars001&lt;br /&gt;
    Compression             no&lt;br /&gt;
    RequestTTY              force&lt;br /&gt;
&lt;br /&gt;
Host *&lt;br /&gt;
    Compression             yes&lt;br /&gt;
    Protocol                2&lt;br /&gt;
    ServerAliveInterval     120&lt;br /&gt;
    ServerAliveCountMax     50&lt;br /&gt;
    TCPKeepAlive            no&lt;br /&gt;
    ConnectTimeout          60&lt;br /&gt;
    IdentityFile ~/.ssh/id_ed25519&lt;br /&gt;
    AddKeysToAgent yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the config file is used top to bottom, the connection wur(net).nl servers will be using no compression, but the rest of the servers you might access will.&lt;br /&gt;
More options and settings can be found by using `man ssh_config`&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[log_in_to_Anunna |Logging into cluster using ssh and file transfer]]&lt;br /&gt;
* [[Using a hardware key for better security]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Ssh_without_password&amp;diff=2655</id>
		<title>Ssh without password</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Ssh_without_password&amp;diff=2655"/>
		<updated>2026-03-03T09:52:53Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Secure shell (ssh) protocols can be configure to work without entering your password every time. This is particularly helpful for machines that are used often.&lt;br /&gt;
Although we mention that you can use SSH keys without passwords, that is something you should really not do, if someone gets a hold of your keys (without password), they can access our servers as if they are you, and thus incur costs/manage or delete data in your name.&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password from a POSIX-compliant terminal ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: create a public key and copy to remote computer ===&lt;br /&gt;
* Log into WSL, a local Linux or MacOSX computer&lt;br /&gt;
* Type the following to generate the ssh key:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-keygen -t ed25519 -a 200 -C $USER@$(hostname)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Accept the default key location by pressing &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Please use a &#039;&#039;&#039;different&#039;&#039;&#039; password/passphrase for your SSH key than your WUR password.&lt;br /&gt;
* Secure permission of your authentication keys by closing permission to your home directory, .ssh directory, and authentication files&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod go-wx $HOME&lt;br /&gt;
chmod 700 $HOME/.ssh&lt;br /&gt;
chmod 600 $HOME/.ssh/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Type the following to copy the key to the remote server (this will prompt for a password).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id remote_username@remote_host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password for Anunna ==&lt;br /&gt;
&lt;br /&gt;
* Create a public key as in Step 1 of the previous section and copy it to Anunna. Note that a public/private key pair needs to be made only once per machine.&lt;br /&gt;
* Similar to step 2 of the previous section, add the public key to the &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys2&amp;lt;/code&amp;gt; file. There is already a &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt; present. You may append the key to this file as an alternative, but take care not to remove content that is already there. The cluster is configured so that passwordless communication will all other nodes is default.&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password using PuTTY ==&lt;br /&gt;
Use &#039;&#039;&#039;pageant&#039;&#039;&#039;: http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter9.html to generate local keys. You&#039;ll want have a copy of the pubkey in plaintext available.&lt;br /&gt;
&lt;br /&gt;
Make sure to paste that plaintext string into ~/.ssh/authorized_keys in one single line. Chmod the file 600 (so it shows -rw------- in ls -l) and the directory .ssh to 700 (drwx------).&lt;br /&gt;
&lt;br /&gt;
Now PuTTY will login passwordlessly whenever &#039;&#039;&#039;pageant&#039;&#039;&#039; is running.&lt;br /&gt;
&lt;br /&gt;
Finally, get &#039;&#039;&#039;pageant&#039;&#039;&#039; to load on startup: http://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html&lt;br /&gt;
== Configuring ssh without password using MobaXterm ==&lt;br /&gt;
&lt;br /&gt;
Have a look here: https://docs.gcc.rug.nl/hyperchicken/generate-key-pair-mobaxterm/&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password using WinSCP ==&lt;br /&gt;
WinSCP has provided a detailed instruction in https://winscp.net/eng/docs/public_key, and https://winscp.net/eng/docs/ui_login_authentication&lt;br /&gt;
&lt;br /&gt;
== Configuring ssh without password on a Mac ==&lt;br /&gt;
* Create a public key as in Step 1 of the first section and copy it to Anunna.&lt;br /&gt;
* Add the passphrase that you entered above to the keychain on your mac:&lt;br /&gt;
 ssh-add -K /path/to/private/key/file&lt;br /&gt;
&lt;br /&gt;
== Selecting which settings to use ==&lt;br /&gt;
&lt;br /&gt;
To have your SSH client to use certain settings, one can use a config file, at ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
For example :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Host *.wurnet.nl *.wur.nl &lt;br /&gt;
    User                    haars001&lt;br /&gt;
    Compression             no&lt;br /&gt;
    RequestTTY              force&lt;br /&gt;
&lt;br /&gt;
Host *&lt;br /&gt;
    Compression             yes&lt;br /&gt;
    Protocol                2&lt;br /&gt;
    ServerAliveInterval     120&lt;br /&gt;
    ServerAliveCountMax     50&lt;br /&gt;
    TCPKeepAlive            no&lt;br /&gt;
    ConnectTimeout          60&lt;br /&gt;
    IdentityFile ~/.ssh/id_ed25519&lt;br /&gt;
    AddKeysToAgent yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the config file is used top to bottom, the connection wur(net).nl servers will be using no compression, but the rest of the servers you might access will.&lt;br /&gt;
More options and settings can be found by using `man ssh_config`&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[log_in_to_Anunna | Logging into cluster using ssh and file transfer]]&lt;br /&gt;
* Using a hardware key for better security&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2654</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2654"/>
		<updated>2026-03-03T09:26:09Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To enable users to run their own Linux software that has graphical output, we have created a Linux desktop.&lt;br /&gt;
&lt;br /&gt;
The desktop is a [https://www.xfce.org/ Xfce] Desktop Environment. Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.&lt;br /&gt;
&lt;br /&gt;
=== Starting a desktop ===&lt;br /&gt;
To start a desktop, go to http://apps.anunna.wur.nl/, and select the desktop tile:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE tile.png|frameless|124x124px]]&lt;br /&gt;
&lt;br /&gt;
===== Default form =====&lt;br /&gt;
This will then start up a form:&lt;br /&gt;
&lt;br /&gt;
[[File:Basic XFCE form.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
If you click &amp;quot;Launch&amp;quot;, a desktop job will be started with a maximum duration that you entered.&lt;br /&gt;
&lt;br /&gt;
==== Extended form ====&lt;br /&gt;
You can also select the &amp;quot;Show advanced job options&amp;quot;, and then the following form will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE form extended.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adapt to what you need, click &amp;quot;Launch&amp;quot;, and a desktop job will be started with the options that you entered.&lt;br /&gt;
&lt;br /&gt;
=== Getting acces to the desktop ===&lt;br /&gt;
Once the job is started, you will be shown an informational tile like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE job info.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On this tile, you can see info on the job, and also Cancel the job.&lt;br /&gt;
&lt;br /&gt;
To show the running desktop, click on &amp;quot;Launch Desktop (XFCE)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you close your browser or computer, the desktop will keep running, and you can access it again by going to http://apps.anunna.wur.nl/, and select the &amp;quot;My Interactive Session&amp;quot; in the menu bar.&lt;br /&gt;
&lt;br /&gt;
=== XFCE desktop usage ===&lt;br /&gt;
After connecting, the desktop will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE desktop.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the bottom are 6 icons, being &amp;quot;Show Desktop&amp;quot;, &amp;quot;Terminal&amp;quot;, &amp;quot;File browser&amp;quot;, &amp;quot;Web browser&amp;quot;, &amp;quot;Application search&amp;quot; and &amp;quot;Home folder&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top left is the &amp;quot;Applications&amp;quot; menu, where you can find the same applications, and &amp;quot;Settings&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Stopping the desktop ===&lt;br /&gt;
To stop the desktop, there are 2 options:&lt;br /&gt;
&lt;br /&gt;
# By clicking on &amp;quot;Logout&amp;quot; inside the desktop&lt;br /&gt;
## There is a &amp;quot;Logout&amp;quot; button at the bottom of the &amp;quot;Applications&amp;quot; menu (top left)&lt;br /&gt;
## There is a &amp;quot;Logout&amp;quot; button at the bottom of the menu when you click on your name (top right)&lt;br /&gt;
# By clicking &amp;quot;Cancel&amp;quot; on the session tile&lt;br /&gt;
&lt;br /&gt;
If you log out inside the desktop, you will get a &amp;quot;Connection lost&amp;quot; message, as the job got stopped.&lt;br /&gt;
&lt;br /&gt;
If you cancel in the informational tile, the tile will then look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE tile after.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buttons at the top right allow you to change the settings to start another desktop session (the pencil), or to start another desktop session with the same settings as this one (the recycle logo).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Delete&amp;quot; button will remove the debug logs.&lt;br /&gt;
&lt;br /&gt;
=== Running already installed software (using modules) ===&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
&lt;br /&gt;
=== Starting from scratch. ===&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2653</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2653"/>
		<updated>2026-03-03T09:25:54Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To enable users to run their own Linux software that has graphical output, we have created a Linux desktop.&lt;br /&gt;
&lt;br /&gt;
The desktop is a [https://www.xfce.org/ Xfce] Desktop Environment. Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.&lt;br /&gt;
&lt;br /&gt;
=== Starting a desktop ===&lt;br /&gt;
To start a desktop, go to http://apps.anunna.wur.nl/, and select the desktop tile:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE tile.png|frameless|124x124px]]&lt;br /&gt;
&lt;br /&gt;
===== Default form =====&lt;br /&gt;
This will then start up a form:&lt;br /&gt;
&lt;br /&gt;
[[File:Basic XFCE form.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
If you click &amp;quot;Launch&amp;quot;, a desktop job will be started with a maximum duration that you entered.&lt;br /&gt;
&lt;br /&gt;
Extended form&lt;br /&gt;
&lt;br /&gt;
You can also select the &amp;quot;Show advanced job options&amp;quot;, and then the following form will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE form extended.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adapt to what you need, click &amp;quot;Launch&amp;quot;, and a desktop job will be started with the options that you entered.&lt;br /&gt;
&lt;br /&gt;
=== Getting acces to the desktop ===&lt;br /&gt;
Once the job is started, you will be shown an informational tile like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE job info.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On this tile, you can see info on the job, and also Cancel the job.&lt;br /&gt;
&lt;br /&gt;
To show the running desktop, click on &amp;quot;Launch Desktop (XFCE)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you close your browser or computer, the desktop will keep running, and you can access it again by going to http://apps.anunna.wur.nl/, and select the &amp;quot;My Interactive Session&amp;quot; in the menu bar.&lt;br /&gt;
&lt;br /&gt;
=== XFCE desktop usage ===&lt;br /&gt;
After connecting, the desktop will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE desktop.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the bottom are 6 icons, being &amp;quot;Show Desktop&amp;quot;, &amp;quot;Terminal&amp;quot;, &amp;quot;File browser&amp;quot;, &amp;quot;Web browser&amp;quot;, &amp;quot;Application search&amp;quot; and &amp;quot;Home folder&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top left is the &amp;quot;Applications&amp;quot; menu, where you can find the same applications, and &amp;quot;Settings&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Stopping the desktop ===&lt;br /&gt;
To stop the desktop, there are 2 options:&lt;br /&gt;
&lt;br /&gt;
# By clicking on &amp;quot;Logout&amp;quot; inside the desktop&lt;br /&gt;
## There is a &amp;quot;Logout&amp;quot; button at the bottom of the &amp;quot;Applications&amp;quot; menu (top left)&lt;br /&gt;
## There is a &amp;quot;Logout&amp;quot; button at the bottom of the menu when you click on your name (top right)&lt;br /&gt;
# By clicking &amp;quot;Cancel&amp;quot; on the session tile&lt;br /&gt;
&lt;br /&gt;
If you log out inside the desktop, you will get a &amp;quot;Connection lost&amp;quot; message, as the job got stopped.&lt;br /&gt;
&lt;br /&gt;
If you cancel in the informational tile, the tile will then look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE tile after.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The buttons at the top right allow you to change the settings to start another desktop session (the pencil), or to start another desktop session with the same settings as this one (the recycle logo).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Delete&amp;quot; button will remove the debug logs.&lt;br /&gt;
&lt;br /&gt;
=== Running already installed software (using modules) ===&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
&lt;br /&gt;
=== Starting from scratch. ===&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:XFCE_tile_after.png&amp;diff=2652</id>
		<title>File:XFCE tile after.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:XFCE_tile_after.png&amp;diff=2652"/>
		<updated>2026-03-03T09:23:19Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XFCE tile after&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:XFCE_desktop.png&amp;diff=2651</id>
		<title>File:XFCE desktop.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:XFCE_desktop.png&amp;diff=2651"/>
		<updated>2026-03-03T09:12:43Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XFCE desktop&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:XFCE_job_info.png&amp;diff=2650</id>
		<title>File:XFCE job info.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:XFCE_job_info.png&amp;diff=2650"/>
		<updated>2026-03-03T09:05:47Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XFCE job info&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2649</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2649"/>
		<updated>2026-03-03T09:04:14Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To enable users to run their own Linux software that has graphical output, we have created a Linux desktop.&lt;br /&gt;
&lt;br /&gt;
The desktop is a [https://www.xfce.org/ Xfce] Desktop Environment. Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.&lt;br /&gt;
&lt;br /&gt;
=== Starting a desktop ===&lt;br /&gt;
To start a desktop, go to http://apps.anunna.wur.nl/, and select the desktop tile:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE tile.png|frameless|124x124px]]&lt;br /&gt;
&lt;br /&gt;
===== Default form =====&lt;br /&gt;
This will then start up a form:&lt;br /&gt;
&lt;br /&gt;
[[File:Basic XFCE form.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
If you click &amp;quot;Launch&amp;quot;, a desktop job will be started with a maximum duration that you entered.&lt;br /&gt;
&lt;br /&gt;
Extended form&lt;br /&gt;
&lt;br /&gt;
You can also select the &amp;quot;Show advanced job options&amp;quot;, and then the following form will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE form extended.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adapt to what you need, click &amp;quot;Launch&amp;quot;, and a desktop job will be started with the options that you entered.&lt;br /&gt;
&lt;br /&gt;
=== Getting started on the desktop ===&lt;br /&gt;
&lt;br /&gt;
=== Running already installed software (using modules) ===&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
&lt;br /&gt;
=== Starting from scratch. ===&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2648</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2648"/>
		<updated>2026-03-03T09:03:49Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Added form info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To enable users to run their own Linux software that has graphical output, we have created a Linux desktop.&lt;br /&gt;
&lt;br /&gt;
The desktop is a [https://www.xfce.org/ Xfce] Desktop Environment. Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.&lt;br /&gt;
&lt;br /&gt;
=== Starting a desktop ===&lt;br /&gt;
To start a desktop, go to http://apps.anunna.wur.nl/, and select the desktop tile:&lt;br /&gt;
[[File:XFCE tile.png|frameless|124x124px]]&lt;br /&gt;
&lt;br /&gt;
===== Default form =====&lt;br /&gt;
This will then start up a form:&lt;br /&gt;
&lt;br /&gt;
[[File:Basic XFCE form.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
If you click &amp;quot;Launch&amp;quot;, a desktop job will be started with a maximum duration that you entered.&lt;br /&gt;
&lt;br /&gt;
Extended form&lt;br /&gt;
&lt;br /&gt;
You can also select the &amp;quot;Show advanced job options&amp;quot;, and then the following form will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:XFCE form extended.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adapt to what you need, click &amp;quot;Launch&amp;quot;, and a desktop job will be started with the options that you entered.&lt;br /&gt;
&lt;br /&gt;
=== Getting started on the desktop ===&lt;br /&gt;
&lt;br /&gt;
=== Running already installed software (using modules) ===&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
&lt;br /&gt;
=== Starting from scratch. ===&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:XFCE_form_extended.png&amp;diff=2647</id>
		<title>File:XFCE form extended.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:XFCE_form_extended.png&amp;diff=2647"/>
		<updated>2026-03-03T09:02:47Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XFCE form extended&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:Basic_XFCE_form.png&amp;diff=2646</id>
		<title>File:Basic XFCE form.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:Basic_XFCE_form.png&amp;diff=2646"/>
		<updated>2026-03-03T08:59:05Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Basic XFCE form&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=File:XFCE_tile.png&amp;diff=2645</id>
		<title>File:XFCE tile.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=File:XFCE_tile.png&amp;diff=2645"/>
		<updated>2026-03-03T08:56:55Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XFCE tile&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2644</id>
		<title>Linux desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_desktop&amp;diff=2644"/>
		<updated>2026-03-03T08:55:21Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: stub page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To enable users to run their own Linux software that has graphical output, we have created a Linux desktop.&lt;br /&gt;
&lt;br /&gt;
The desktop is a [https://www.xfce.org/ Xfce] Desktop Environment. Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.&lt;br /&gt;
&lt;br /&gt;
=== Starting a desktop ===&lt;br /&gt;
&lt;br /&gt;
=== Getting started on the desktop ===&lt;br /&gt;
&lt;br /&gt;
=== Running already installed software (using modules) ===&lt;br /&gt;
&lt;br /&gt;
=== Installing your own software ===&lt;br /&gt;
&lt;br /&gt;
=== Starting from scratch. ===&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2572</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2572"/>
		<updated>2026-02-20T10:04:29Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: /* Our Courses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna is a [http://en.wikipedia.org/wiki/High-performance_computing High Performance Computer] (HPC) infrastructure hosted by [https://www.wur.nl/en/show/supercomputer-anunna-opens-up-more-opportunities-for-data-storage-and-artificial-intelligence-applications.htm Wageningen University &amp;amp; Research Centre]. It is open for use for all WUR research groups as well as other organizations, including companies, that have collaborative projects with WUR. &lt;br /&gt;
&lt;br /&gt;
== Access Policy ==&lt;br /&gt;
[[Access_Policy | Main Article: Access Policy]]&lt;br /&gt;
&lt;br /&gt;
Access needs to be granted actively (by creation of an account on the cluster by FB-IT). Use of resources is limited by the scheduler. Note that the use of Anunna is not free of charge. &lt;br /&gt;
&lt;br /&gt;
= Our Courses =&lt;br /&gt;
&lt;br /&gt;
* [[Linux Basic]]&lt;br /&gt;
* [[HPC Basic]]&lt;br /&gt;
* [[HPC Advanced]]&lt;br /&gt;
* [[2026 Course dates]]&lt;br /&gt;
&lt;br /&gt;
= Using Anunna =&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== Gaining access to Anunna==&lt;br /&gt;
Access to the cluster and file transfer are traditionally done via [http://en.wikipedia.org/wiki/Secure_Shell SSH and SFTP].&lt;br /&gt;
* [[log_in_to_B4F_cluster | Logging into cluster using ssh]]&lt;br /&gt;
* [[file_transfer | File transfer options]]&lt;br /&gt;
* [[Services | Alternative access methods, and extra features and services on Anunna]]&lt;br /&gt;
* [[Filesystems | Data storage methods on Anunna]]&lt;br /&gt;
&lt;br /&gt;
== Using Anunna for courses (mainly jupyter notebooks) ==&lt;br /&gt;
* [[steps_for_courses | Steps involved to run a course on Anunna]]&lt;br /&gt;
 &lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
* [[Courses]] that have happened and are happening&lt;br /&gt;
* [[Downtime]] that will affect all users&lt;br /&gt;
* [[Meetings]] that may affect the policies of Anunna&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
* [[Apptainer]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[R]] &lt;br /&gt;
* [[Julia]]&lt;br /&gt;
&lt;br /&gt;
=Web Apps=&lt;br /&gt;
&lt;br /&gt;
*[[Jupyter]]&lt;br /&gt;
&lt;br /&gt;
*[[RStudio]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux desktop]]&lt;br /&gt;
&lt;br /&gt;
*[[Open OnDemand]]&lt;br /&gt;
&lt;br /&gt;
= Other Software =&lt;br /&gt;
&lt;br /&gt;
== Cluster Scheduler ==&lt;br /&gt;
Anunna uses Slurm as job scheduler.&lt;br /&gt;
* [[Using_Slurm | Submit jobs with Slurm]]&lt;br /&gt;
* [[node_usage_graph | Be aware of how much work the cluster is under right now with &#039;node_usage_graph&#039;]]&lt;br /&gt;
* [[SLURM_Compare | Rosetta Stone of Workload Managers]]&lt;br /&gt;
&lt;br /&gt;
== Installation of software by users ==&lt;br /&gt;
&lt;br /&gt;
* [[Domain_specific_software_on_B4Fcluster_installation_by_users | Installing domain specific software: installation by users]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Virtual_environment_Python_3.4_or_higher | Setting up and using a virtual environment for Python3.4 or higher ]]&lt;br /&gt;
* [[Installing WRF and WPS]]&lt;br /&gt;
* [[Running scripts on a fixed timeschedule (cron)]]&lt;br /&gt;
&lt;br /&gt;
== Installed software ==&lt;br /&gt;
&lt;br /&gt;
* [[Globally_installed_software | Globally installed software]]&lt;br /&gt;
* [[ABGC_modules | ABGC specific modules]]&lt;br /&gt;
&lt;br /&gt;
= Useful Notes = &lt;br /&gt;
&lt;br /&gt;
== Being in control of Environment parameters ==&lt;br /&gt;
&lt;br /&gt;
* [[Using_environment_modules | Using environment modules]]&lt;br /&gt;
* [[Aliases and local variables]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Setting_TMPDIR | Set a custom temporary directory location]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Locale_settings]] (how numbers and dates are displayed)&lt;br /&gt;
&lt;br /&gt;
== Controlling costs ==&lt;br /&gt;
&lt;br /&gt;
* [[SACCT | using SACCT to see your costs]]&lt;br /&gt;
* [[get_my_bill | using the &amp;quot;get_my_bill&amp;quot; script to estimate costs]]&lt;br /&gt;
&lt;br /&gt;
== Management ==&lt;br /&gt;
Product Owner of Anunna is Alexander van Ittersum (Wageningen UR,FB-IT, C&amp;amp;PS). [[User: prins089 | Fons Prinsen (Wageningen UR, FB-IT, C&amp;amp;PS)]] is responsible for [[Maintenance_and_Management | Maintenance and Management]] of the cluster.&lt;br /&gt;
&lt;br /&gt;
* [[Roadmap | Ambitions regarding innovation, support and administration of Anunna ]]&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous =&lt;br /&gt;
* [[History_of_the_Cluster | Historical information on the startup of Anunna]]&lt;br /&gt;
* [[Bioinformatics_tips_tricks_workflows | Bioinformatics tips, tricks, and workflows]]&lt;br /&gt;
* [[Parallel_R_code_on_SLURM | Running parallel R code on SLURM]]&lt;br /&gt;
* [[Convert_between_MediaWiki_and_other_formats | Convert between MediaWiki format and other formats]]&lt;br /&gt;
* [[Manual GitLab | GitLab: Create projects and add scripts]]&lt;br /&gt;
* [[Monitoring_executions | Monitoring job execution]]&lt;br /&gt;
* [[Shared_folders | Working with shared folders in the Lustre file system]]&lt;br /&gt;
* [[Old_binaries | Running older binaries on the updated OS]]&lt;br /&gt;
* [[locale_settings | How to change language settings for yourself]]&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Maintenance_and_Management | Maintenance and Management]]&lt;br /&gt;
* [[About_ABGC | About ABGC]]&lt;br /&gt;
* [[Computer_cluster | High Performance Computing @ABGC]]&lt;br /&gt;
* [[Lustre_PFS_layout | Lustre Parallel File System layout]]&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [https://www.wur.nl/en/Value-Creation-Cooperation/Facilities/Wageningen-Shared-Research-Facilities/Our-facilities/Show/High-Performance-Computing-Cluster-HPC-Anunna.htm SRF offers a HPC facilty]&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Scientific_Linux Scientific Linux]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Help:Cheatsheet Help with editing Wiki pages]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Linux_Basic&amp;diff=2571</id>
		<title>Linux Basic</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Linux_Basic&amp;diff=2571"/>
		<updated>2026-02-20T10:04:05Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Created page with &amp;quot;Text&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Text&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2570</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2570"/>
		<updated>2026-02-20T10:02:14Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: /* Our Courses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna is a [http://en.wikipedia.org/wiki/High-performance_computing High Performance Computer] (HPC) infrastructure hosted by [https://www.wur.nl/en/show/supercomputer-anunna-opens-up-more-opportunities-for-data-storage-and-artificial-intelligence-applications.htm Wageningen University &amp;amp; Research Centre]. It is open for use for all WUR research groups as well as other organizations, including companies, that have collaborative projects with WUR. &lt;br /&gt;
&lt;br /&gt;
== Access Policy ==&lt;br /&gt;
[[Access_Policy | Main Article: Access Policy]]&lt;br /&gt;
&lt;br /&gt;
Access needs to be granted actively (by creation of an account on the cluster by FB-IT). Use of resources is limited by the scheduler. Note that the use of Anunna is not free of charge. &lt;br /&gt;
&lt;br /&gt;
= Our Courses =&lt;br /&gt;
&lt;br /&gt;
=== [[Linux Basic]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[HPC Basic]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[HPC Advanced]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[2026 Course dates]] ===&lt;br /&gt;
&lt;br /&gt;
= Using Anunna =&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== Gaining access to Anunna==&lt;br /&gt;
Access to the cluster and file transfer are traditionally done via [http://en.wikipedia.org/wiki/Secure_Shell SSH and SFTP].&lt;br /&gt;
* [[log_in_to_B4F_cluster | Logging into cluster using ssh]]&lt;br /&gt;
* [[file_transfer | File transfer options]]&lt;br /&gt;
* [[Services | Alternative access methods, and extra features and services on Anunna]]&lt;br /&gt;
* [[Filesystems | Data storage methods on Anunna]]&lt;br /&gt;
&lt;br /&gt;
== Using Anunna for courses (mainly jupyter notebooks) ==&lt;br /&gt;
* [[steps_for_courses | Steps involved to run a course on Anunna]]&lt;br /&gt;
 &lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
* [[Courses]] that have happened and are happening&lt;br /&gt;
* [[Downtime]] that will affect all users&lt;br /&gt;
* [[Meetings]] that may affect the policies of Anunna&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
* [[Apptainer]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[R]] &lt;br /&gt;
* [[Julia]]&lt;br /&gt;
&lt;br /&gt;
=Web Apps=&lt;br /&gt;
&lt;br /&gt;
*[[Jupyter]]&lt;br /&gt;
&lt;br /&gt;
*[[RStudio]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux desktop]]&lt;br /&gt;
&lt;br /&gt;
*[[Open OnDemand]]&lt;br /&gt;
&lt;br /&gt;
= Other Software =&lt;br /&gt;
&lt;br /&gt;
== Cluster Scheduler ==&lt;br /&gt;
Anunna uses Slurm as job scheduler.&lt;br /&gt;
* [[Using_Slurm | Submit jobs with Slurm]]&lt;br /&gt;
* [[node_usage_graph | Be aware of how much work the cluster is under right now with &#039;node_usage_graph&#039;]]&lt;br /&gt;
* [[SLURM_Compare | Rosetta Stone of Workload Managers]]&lt;br /&gt;
&lt;br /&gt;
== Installation of software by users ==&lt;br /&gt;
&lt;br /&gt;
* [[Domain_specific_software_on_B4Fcluster_installation_by_users | Installing domain specific software: installation by users]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Virtual_environment_Python_3.4_or_higher | Setting up and using a virtual environment for Python3.4 or higher ]]&lt;br /&gt;
* [[Installing WRF and WPS]]&lt;br /&gt;
* [[Running scripts on a fixed timeschedule (cron)]]&lt;br /&gt;
&lt;br /&gt;
== Installed software ==&lt;br /&gt;
&lt;br /&gt;
* [[Globally_installed_software | Globally installed software]]&lt;br /&gt;
* [[ABGC_modules | ABGC specific modules]]&lt;br /&gt;
&lt;br /&gt;
= Useful Notes = &lt;br /&gt;
&lt;br /&gt;
== Being in control of Environment parameters ==&lt;br /&gt;
&lt;br /&gt;
* [[Using_environment_modules | Using environment modules]]&lt;br /&gt;
* [[Aliases and local variables]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Setting_TMPDIR | Set a custom temporary directory location]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Locale_settings]] (how numbers and dates are displayed)&lt;br /&gt;
&lt;br /&gt;
== Controlling costs ==&lt;br /&gt;
&lt;br /&gt;
* [[SACCT | using SACCT to see your costs]]&lt;br /&gt;
* [[get_my_bill | using the &amp;quot;get_my_bill&amp;quot; script to estimate costs]]&lt;br /&gt;
&lt;br /&gt;
== Management ==&lt;br /&gt;
Product Owner of Anunna is Alexander van Ittersum (Wageningen UR,FB-IT, C&amp;amp;PS). [[User: prins089 | Fons Prinsen (Wageningen UR, FB-IT, C&amp;amp;PS)]] is responsible for [[Maintenance_and_Management | Maintenance and Management]] of the cluster.&lt;br /&gt;
&lt;br /&gt;
* [[Roadmap | Ambitions regarding innovation, support and administration of Anunna ]]&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous =&lt;br /&gt;
* [[History_of_the_Cluster | Historical information on the startup of Anunna]]&lt;br /&gt;
* [[Bioinformatics_tips_tricks_workflows | Bioinformatics tips, tricks, and workflows]]&lt;br /&gt;
* [[Parallel_R_code_on_SLURM | Running parallel R code on SLURM]]&lt;br /&gt;
* [[Convert_between_MediaWiki_and_other_formats | Convert between MediaWiki format and other formats]]&lt;br /&gt;
* [[Manual GitLab | GitLab: Create projects and add scripts]]&lt;br /&gt;
* [[Monitoring_executions | Monitoring job execution]]&lt;br /&gt;
* [[Shared_folders | Working with shared folders in the Lustre file system]]&lt;br /&gt;
* [[Old_binaries | Running older binaries on the updated OS]]&lt;br /&gt;
* [[locale_settings | How to change language settings for yourself]]&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Maintenance_and_Management | Maintenance and Management]]&lt;br /&gt;
* [[About_ABGC | About ABGC]]&lt;br /&gt;
* [[Computer_cluster | High Performance Computing @ABGC]]&lt;br /&gt;
* [[Lustre_PFS_layout | Lustre Parallel File System layout]]&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [https://www.wur.nl/en/Value-Creation-Cooperation/Facilities/Wageningen-Shared-Research-Facilities/Our-facilities/Show/High-Performance-Computing-Cluster-HPC-Anunna.htm SRF offers a HPC facilty]&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Scientific_Linux Scientific Linux]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Help:Cheatsheet Help with editing Wiki pages]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2569</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2569"/>
		<updated>2026-02-20T10:00:58Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: /* Our Courses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna is a [http://en.wikipedia.org/wiki/High-performance_computing High Performance Computer] (HPC) infrastructure hosted by [https://www.wur.nl/en/show/supercomputer-anunna-opens-up-more-opportunities-for-data-storage-and-artificial-intelligence-applications.htm Wageningen University &amp;amp; Research Centre]. It is open for use for all WUR research groups as well as other organizations, including companies, that have collaborative projects with WUR. &lt;br /&gt;
&lt;br /&gt;
== Access Policy ==&lt;br /&gt;
[[Access_Policy | Main Article: Access Policy]]&lt;br /&gt;
&lt;br /&gt;
Access needs to be granted actively (by creation of an account on the cluster by FB-IT). Use of resources is limited by the scheduler. Note that the use of Anunna is not free of charge. &lt;br /&gt;
&lt;br /&gt;
= Our Courses =&lt;br /&gt;
&lt;br /&gt;
* [[Linux Basic]]&lt;br /&gt;
* [[HPC Basic]]&lt;br /&gt;
&lt;br /&gt;
=== HPC Advanced ===&lt;br /&gt;
* 2026 Course dates&lt;br /&gt;
&lt;br /&gt;
= Using Anunna =&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== Gaining access to Anunna==&lt;br /&gt;
Access to the cluster and file transfer are traditionally done via [http://en.wikipedia.org/wiki/Secure_Shell SSH and SFTP].&lt;br /&gt;
* [[log_in_to_B4F_cluster | Logging into cluster using ssh]]&lt;br /&gt;
* [[file_transfer | File transfer options]]&lt;br /&gt;
* [[Services | Alternative access methods, and extra features and services on Anunna]]&lt;br /&gt;
* [[Filesystems | Data storage methods on Anunna]]&lt;br /&gt;
&lt;br /&gt;
== Using Anunna for courses (mainly jupyter notebooks) ==&lt;br /&gt;
* [[steps_for_courses | Steps involved to run a course on Anunna]]&lt;br /&gt;
 &lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
* [[Courses]] that have happened and are happening&lt;br /&gt;
* [[Downtime]] that will affect all users&lt;br /&gt;
* [[Meetings]] that may affect the policies of Anunna&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
* [[Apptainer]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[R]] &lt;br /&gt;
* [[Julia]]&lt;br /&gt;
&lt;br /&gt;
=Web Apps=&lt;br /&gt;
&lt;br /&gt;
*[[Jupyter]]&lt;br /&gt;
&lt;br /&gt;
*[[RStudio]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux desktop]]&lt;br /&gt;
&lt;br /&gt;
*[[Open OnDemand]]&lt;br /&gt;
&lt;br /&gt;
= Other Software =&lt;br /&gt;
&lt;br /&gt;
== Cluster Scheduler ==&lt;br /&gt;
Anunna uses Slurm as job scheduler.&lt;br /&gt;
* [[Using_Slurm | Submit jobs with Slurm]]&lt;br /&gt;
* [[node_usage_graph | Be aware of how much work the cluster is under right now with &#039;node_usage_graph&#039;]]&lt;br /&gt;
* [[SLURM_Compare | Rosetta Stone of Workload Managers]]&lt;br /&gt;
&lt;br /&gt;
== Installation of software by users ==&lt;br /&gt;
&lt;br /&gt;
* [[Domain_specific_software_on_B4Fcluster_installation_by_users | Installing domain specific software: installation by users]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Virtual_environment_Python_3.4_or_higher | Setting up and using a virtual environment for Python3.4 or higher ]]&lt;br /&gt;
* [[Installing WRF and WPS]]&lt;br /&gt;
* [[Running scripts on a fixed timeschedule (cron)]]&lt;br /&gt;
&lt;br /&gt;
== Installed software ==&lt;br /&gt;
&lt;br /&gt;
* [[Globally_installed_software | Globally installed software]]&lt;br /&gt;
* [[ABGC_modules | ABGC specific modules]]&lt;br /&gt;
&lt;br /&gt;
= Useful Notes = &lt;br /&gt;
&lt;br /&gt;
== Being in control of Environment parameters ==&lt;br /&gt;
&lt;br /&gt;
* [[Using_environment_modules | Using environment modules]]&lt;br /&gt;
* [[Aliases and local variables]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Setting_TMPDIR | Set a custom temporary directory location]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Locale_settings]] (how numbers and dates are displayed)&lt;br /&gt;
&lt;br /&gt;
== Controlling costs ==&lt;br /&gt;
&lt;br /&gt;
* [[SACCT | using SACCT to see your costs]]&lt;br /&gt;
* [[get_my_bill | using the &amp;quot;get_my_bill&amp;quot; script to estimate costs]]&lt;br /&gt;
&lt;br /&gt;
== Management ==&lt;br /&gt;
Product Owner of Anunna is Alexander van Ittersum (Wageningen UR,FB-IT, C&amp;amp;PS). [[User: prins089 | Fons Prinsen (Wageningen UR, FB-IT, C&amp;amp;PS)]] is responsible for [[Maintenance_and_Management | Maintenance and Management]] of the cluster.&lt;br /&gt;
&lt;br /&gt;
* [[Roadmap | Ambitions regarding innovation, support and administration of Anunna ]]&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous =&lt;br /&gt;
* [[History_of_the_Cluster | Historical information on the startup of Anunna]]&lt;br /&gt;
* [[Bioinformatics_tips_tricks_workflows | Bioinformatics tips, tricks, and workflows]]&lt;br /&gt;
* [[Parallel_R_code_on_SLURM | Running parallel R code on SLURM]]&lt;br /&gt;
* [[Convert_between_MediaWiki_and_other_formats | Convert between MediaWiki format and other formats]]&lt;br /&gt;
* [[Manual GitLab | GitLab: Create projects and add scripts]]&lt;br /&gt;
* [[Monitoring_executions | Monitoring job execution]]&lt;br /&gt;
* [[Shared_folders | Working with shared folders in the Lustre file system]]&lt;br /&gt;
* [[Old_binaries | Running older binaries on the updated OS]]&lt;br /&gt;
* [[locale_settings | How to change language settings for yourself]]&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Maintenance_and_Management | Maintenance and Management]]&lt;br /&gt;
* [[About_ABGC | About ABGC]]&lt;br /&gt;
* [[Computer_cluster | High Performance Computing @ABGC]]&lt;br /&gt;
* [[Lustre_PFS_layout | Lustre Parallel File System layout]]&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [https://www.wur.nl/en/Value-Creation-Cooperation/Facilities/Wageningen-Shared-Research-Facilities/Our-facilities/Show/High-Performance-Computing-Cluster-HPC-Anunna.htm SRF offers a HPC facilty]&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Scientific_Linux Scientific Linux]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Help:Cheatsheet Help with editing Wiki pages]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2568</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2568"/>
		<updated>2026-02-20T10:00:14Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: /* Our Courses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna is a [http://en.wikipedia.org/wiki/High-performance_computing High Performance Computer] (HPC) infrastructure hosted by [https://www.wur.nl/en/show/supercomputer-anunna-opens-up-more-opportunities-for-data-storage-and-artificial-intelligence-applications.htm Wageningen University &amp;amp; Research Centre]. It is open for use for all WUR research groups as well as other organizations, including companies, that have collaborative projects with WUR. &lt;br /&gt;
&lt;br /&gt;
== Access Policy ==&lt;br /&gt;
[[Access_Policy | Main Article: Access Policy]]&lt;br /&gt;
&lt;br /&gt;
Access needs to be granted actively (by creation of an account on the cluster by FB-IT). Use of resources is limited by the scheduler. Note that the use of Anunna is not free of charge. &lt;br /&gt;
&lt;br /&gt;
= Our Courses =&lt;br /&gt;
&lt;br /&gt;
* [[Linux Basic]]&lt;br /&gt;
* [[HPC Basic]]&lt;br /&gt;
* HPC Advanced&lt;br /&gt;
* 2026 Course dates&lt;br /&gt;
&lt;br /&gt;
= Using Anunna =&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== Gaining access to Anunna==&lt;br /&gt;
Access to the cluster and file transfer are traditionally done via [http://en.wikipedia.org/wiki/Secure_Shell SSH and SFTP].&lt;br /&gt;
* [[log_in_to_B4F_cluster | Logging into cluster using ssh]]&lt;br /&gt;
* [[file_transfer | File transfer options]]&lt;br /&gt;
* [[Services | Alternative access methods, and extra features and services on Anunna]]&lt;br /&gt;
* [[Filesystems | Data storage methods on Anunna]]&lt;br /&gt;
&lt;br /&gt;
== Using Anunna for courses (mainly jupyter notebooks) ==&lt;br /&gt;
* [[steps_for_courses | Steps involved to run a course on Anunna]]&lt;br /&gt;
 &lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
* [[Courses]] that have happened and are happening&lt;br /&gt;
* [[Downtime]] that will affect all users&lt;br /&gt;
* [[Meetings]] that may affect the policies of Anunna&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
* [[Apptainer]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[R]] &lt;br /&gt;
* [[Julia]]&lt;br /&gt;
&lt;br /&gt;
=Web Apps=&lt;br /&gt;
&lt;br /&gt;
*[[Jupyter]]&lt;br /&gt;
&lt;br /&gt;
*[[RStudio]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux desktop]]&lt;br /&gt;
&lt;br /&gt;
*[[Open OnDemand]]&lt;br /&gt;
&lt;br /&gt;
= Other Software =&lt;br /&gt;
&lt;br /&gt;
== Cluster Scheduler ==&lt;br /&gt;
Anunna uses Slurm as job scheduler.&lt;br /&gt;
* [[Using_Slurm | Submit jobs with Slurm]]&lt;br /&gt;
* [[node_usage_graph | Be aware of how much work the cluster is under right now with &#039;node_usage_graph&#039;]]&lt;br /&gt;
* [[SLURM_Compare | Rosetta Stone of Workload Managers]]&lt;br /&gt;
&lt;br /&gt;
== Installation of software by users ==&lt;br /&gt;
&lt;br /&gt;
* [[Domain_specific_software_on_B4Fcluster_installation_by_users | Installing domain specific software: installation by users]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Virtual_environment_Python_3.4_or_higher | Setting up and using a virtual environment for Python3.4 or higher ]]&lt;br /&gt;
* [[Installing WRF and WPS]]&lt;br /&gt;
* [[Running scripts on a fixed timeschedule (cron)]]&lt;br /&gt;
&lt;br /&gt;
== Installed software ==&lt;br /&gt;
&lt;br /&gt;
* [[Globally_installed_software | Globally installed software]]&lt;br /&gt;
* [[ABGC_modules | ABGC specific modules]]&lt;br /&gt;
&lt;br /&gt;
= Useful Notes = &lt;br /&gt;
&lt;br /&gt;
== Being in control of Environment parameters ==&lt;br /&gt;
&lt;br /&gt;
* [[Using_environment_modules | Using environment modules]]&lt;br /&gt;
* [[Aliases and local variables]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Setting_TMPDIR | Set a custom temporary directory location]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Locale_settings]] (how numbers and dates are displayed)&lt;br /&gt;
&lt;br /&gt;
== Controlling costs ==&lt;br /&gt;
&lt;br /&gt;
* [[SACCT | using SACCT to see your costs]]&lt;br /&gt;
* [[get_my_bill | using the &amp;quot;get_my_bill&amp;quot; script to estimate costs]]&lt;br /&gt;
&lt;br /&gt;
== Management ==&lt;br /&gt;
Product Owner of Anunna is Alexander van Ittersum (Wageningen UR,FB-IT, C&amp;amp;PS). [[User: prins089 | Fons Prinsen (Wageningen UR, FB-IT, C&amp;amp;PS)]] is responsible for [[Maintenance_and_Management | Maintenance and Management]] of the cluster.&lt;br /&gt;
&lt;br /&gt;
* [[Roadmap | Ambitions regarding innovation, support and administration of Anunna ]]&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous =&lt;br /&gt;
* [[History_of_the_Cluster | Historical information on the startup of Anunna]]&lt;br /&gt;
* [[Bioinformatics_tips_tricks_workflows | Bioinformatics tips, tricks, and workflows]]&lt;br /&gt;
* [[Parallel_R_code_on_SLURM | Running parallel R code on SLURM]]&lt;br /&gt;
* [[Convert_between_MediaWiki_and_other_formats | Convert between MediaWiki format and other formats]]&lt;br /&gt;
* [[Manual GitLab | GitLab: Create projects and add scripts]]&lt;br /&gt;
* [[Monitoring_executions | Monitoring job execution]]&lt;br /&gt;
* [[Shared_folders | Working with shared folders in the Lustre file system]]&lt;br /&gt;
* [[Old_binaries | Running older binaries on the updated OS]]&lt;br /&gt;
* [[locale_settings | How to change language settings for yourself]]&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Maintenance_and_Management | Maintenance and Management]]&lt;br /&gt;
* [[About_ABGC | About ABGC]]&lt;br /&gt;
* [[Computer_cluster | High Performance Computing @ABGC]]&lt;br /&gt;
* [[Lustre_PFS_layout | Lustre Parallel File System layout]]&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [https://www.wur.nl/en/Value-Creation-Cooperation/Facilities/Wageningen-Shared-Research-Facilities/Our-facilities/Show/High-Performance-Computing-Cluster-HPC-Anunna.htm SRF offers a HPC facilty]&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Scientific_Linux Scientific Linux]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Help:Cheatsheet Help with editing Wiki pages]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2567</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Main_Page&amp;diff=2567"/>
		<updated>2026-02-20T09:57:58Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: /* Our Courses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna is a [http://en.wikipedia.org/wiki/High-performance_computing High Performance Computer] (HPC) infrastructure hosted by [https://www.wur.nl/en/show/supercomputer-anunna-opens-up-more-opportunities-for-data-storage-and-artificial-intelligence-applications.htm Wageningen University &amp;amp; Research Centre]. It is open for use for all WUR research groups as well as other organizations, including companies, that have collaborative projects with WUR. &lt;br /&gt;
&lt;br /&gt;
== Access Policy ==&lt;br /&gt;
[[Access_Policy | Main Article: Access Policy]]&lt;br /&gt;
&lt;br /&gt;
Access needs to be granted actively (by creation of an account on the cluster by FB-IT). Use of resources is limited by the scheduler. Note that the use of Anunna is not free of charge. &lt;br /&gt;
&lt;br /&gt;
= Our Courses =&lt;br /&gt;
&lt;br /&gt;
* [[Linux Basic]]&lt;br /&gt;
* HPC Basic&lt;br /&gt;
* HPC Advanced&lt;br /&gt;
* 2026 Course dates&lt;br /&gt;
&lt;br /&gt;
= Using Anunna =&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== Gaining access to Anunna==&lt;br /&gt;
Access to the cluster and file transfer are traditionally done via [http://en.wikipedia.org/wiki/Secure_Shell SSH and SFTP].&lt;br /&gt;
* [[log_in_to_B4F_cluster | Logging into cluster using ssh]]&lt;br /&gt;
* [[file_transfer | File transfer options]]&lt;br /&gt;
* [[Services | Alternative access methods, and extra features and services on Anunna]]&lt;br /&gt;
* [[Filesystems | Data storage methods on Anunna]]&lt;br /&gt;
&lt;br /&gt;
== Using Anunna for courses (mainly jupyter notebooks) ==&lt;br /&gt;
* [[steps_for_courses | Steps involved to run a course on Anunna]]&lt;br /&gt;
 &lt;br /&gt;
= Events =&lt;br /&gt;
&lt;br /&gt;
* [[Courses]] that have happened and are happening&lt;br /&gt;
* [[Downtime]] that will affect all users&lt;br /&gt;
* [[Meetings]] that may affect the policies of Anunna&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
* [[Apptainer]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[R]] &lt;br /&gt;
* [[Julia]]&lt;br /&gt;
&lt;br /&gt;
=Web Apps=&lt;br /&gt;
&lt;br /&gt;
*[[Jupyter]]&lt;br /&gt;
&lt;br /&gt;
*[[RStudio]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux desktop]]&lt;br /&gt;
&lt;br /&gt;
*[[Open OnDemand]]&lt;br /&gt;
&lt;br /&gt;
= Other Software =&lt;br /&gt;
&lt;br /&gt;
== Cluster Scheduler ==&lt;br /&gt;
Anunna uses Slurm as job scheduler.&lt;br /&gt;
* [[Using_Slurm | Submit jobs with Slurm]]&lt;br /&gt;
* [[node_usage_graph | Be aware of how much work the cluster is under right now with &#039;node_usage_graph&#039;]]&lt;br /&gt;
* [[SLURM_Compare | Rosetta Stone of Workload Managers]]&lt;br /&gt;
&lt;br /&gt;
== Installation of software by users ==&lt;br /&gt;
&lt;br /&gt;
* [[Domain_specific_software_on_B4Fcluster_installation_by_users | Installing domain specific software: installation by users]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Virtual_environment_Python_3.4_or_higher | Setting up and using a virtual environment for Python3.4 or higher ]]&lt;br /&gt;
* [[Installing WRF and WPS]]&lt;br /&gt;
* [[Running scripts on a fixed timeschedule (cron)]]&lt;br /&gt;
&lt;br /&gt;
== Installed software ==&lt;br /&gt;
&lt;br /&gt;
* [[Globally_installed_software | Globally installed software]]&lt;br /&gt;
* [[ABGC_modules | ABGC specific modules]]&lt;br /&gt;
&lt;br /&gt;
= Useful Notes = &lt;br /&gt;
&lt;br /&gt;
== Being in control of Environment parameters ==&lt;br /&gt;
&lt;br /&gt;
* [[Using_environment_modules | Using environment modules]]&lt;br /&gt;
* [[Aliases and local variables]]&lt;br /&gt;
* [[Setting local variables]]&lt;br /&gt;
* [[Setting_TMPDIR | Set a custom temporary directory location]]&lt;br /&gt;
* [[Installing_R_packages_locally | Installing R packages locally]]&lt;br /&gt;
* [[Setting_up_Python_virtualenv | Setting up and using a virtual environment for Python3 ]]&lt;br /&gt;
* [[Locale_settings]] (how numbers and dates are displayed)&lt;br /&gt;
&lt;br /&gt;
== Controlling costs ==&lt;br /&gt;
&lt;br /&gt;
* [[SACCT | using SACCT to see your costs]]&lt;br /&gt;
* [[get_my_bill | using the &amp;quot;get_my_bill&amp;quot; script to estimate costs]]&lt;br /&gt;
&lt;br /&gt;
== Management ==&lt;br /&gt;
Product Owner of Anunna is Alexander van Ittersum (Wageningen UR,FB-IT, C&amp;amp;PS). [[User: prins089 | Fons Prinsen (Wageningen UR, FB-IT, C&amp;amp;PS)]] is responsible for [[Maintenance_and_Management | Maintenance and Management]] of the cluster.&lt;br /&gt;
&lt;br /&gt;
* [[Roadmap | Ambitions regarding innovation, support and administration of Anunna ]]&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous =&lt;br /&gt;
* [[History_of_the_Cluster | Historical information on the startup of Anunna]]&lt;br /&gt;
* [[Bioinformatics_tips_tricks_workflows | Bioinformatics tips, tricks, and workflows]]&lt;br /&gt;
* [[Parallel_R_code_on_SLURM | Running parallel R code on SLURM]]&lt;br /&gt;
* [[Convert_between_MediaWiki_and_other_formats | Convert between MediaWiki format and other formats]]&lt;br /&gt;
* [[Manual GitLab | GitLab: Create projects and add scripts]]&lt;br /&gt;
* [[Monitoring_executions | Monitoring job execution]]&lt;br /&gt;
* [[Shared_folders | Working with shared folders in the Lustre file system]]&lt;br /&gt;
* [[Old_binaries | Running older binaries on the updated OS]]&lt;br /&gt;
* [[locale_settings | How to change language settings for yourself]]&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Maintenance_and_Management | Maintenance and Management]]&lt;br /&gt;
* [[About_ABGC | About ABGC]]&lt;br /&gt;
* [[Computer_cluster | High Performance Computing @ABGC]]&lt;br /&gt;
* [[Lustre_PFS_layout | Lustre Parallel File System layout]]&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [https://www.wur.nl/en/Value-Creation-Cooperation/Facilities/Wageningen-Shared-Research-Facilities/Our-facilities/Show/High-Performance-Computing-Cluster-HPC-Anunna.htm SRF offers a HPC facilty]&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Scientific_Linux Scientific Linux]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Help:Cheatsheet Help with editing Wiki pages]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Open_OnDemand&amp;diff=2561</id>
		<title>Open OnDemand</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Open_OnDemand&amp;diff=2561"/>
		<updated>2026-02-16T15:20:27Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Created stub for ood&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Open OnDemand is a webbased system to enable users to access GUI applications.&lt;br /&gt;
&lt;br /&gt;
The URL in which it is available is &amp;lt;nowiki&amp;gt;https://app.anunna.wur.nl&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Tapeworm&amp;diff=2560</id>
		<title>Tapeworm</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Tapeworm&amp;diff=2560"/>
		<updated>2026-02-06T09:57:44Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Make text flow above and below images.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tapeworm: Automated tape-archival of old datasets =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #d32f2f; background:#ffebee; padding:12px; margin:12px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;margin:8px 0 0 18px;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;This documentation page is under construction and may contain errors.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;The Tapeworm application is in beta and may contain errors.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== https://tapeworm.anunna.wur.nl/ ===&lt;br /&gt;
&lt;br /&gt;
Tapeworm helps you manage data on &amp;lt;code&amp;gt;/archive&amp;lt;/code&amp;gt; by identifying datasets that are no longer actively used and preparing them for tape archival.  &lt;br /&gt;
The goal is simple: keep our warm storage available for active work, while safely preserving older data on tape.&lt;br /&gt;
&lt;br /&gt;
With Tapeworm, you can:&lt;br /&gt;
* See which of your datasets are being considered for tape archival.&lt;br /&gt;
* Review planned moves before they happen.&lt;br /&gt;
* Approve, snooze, or block moves when needed.&lt;br /&gt;
* Add metadata to help describe archived datasets. The metadata is included on tape and can be used to view/retrieve from tape, should you need to do so in the future.&lt;br /&gt;
&lt;br /&gt;
If you do nothing, Tapeworm will continue with the planned move after the review period.  &lt;br /&gt;
That is why we recommend checking your pending actions regularly. You will also receive notification emails about pending actions.&lt;br /&gt;
&lt;br /&gt;
== How Tapeworm works ==&lt;br /&gt;
&lt;br /&gt;
# Tapeworm scans &amp;lt;code&amp;gt;/archive&amp;lt;/code&amp;gt; and builds an index of datasets, size, owner, and last activite use.&lt;br /&gt;
# A policy engine checks which datasets look stale (for example: 30+ days old and larger than 1GB).&lt;br /&gt;
# Matching datasets are marked as &amp;lt;b&amp;gt;planned&amp;lt;/b&amp;gt; and shown in your overview.&lt;br /&gt;
# You will be notified by email that Tapeworm plans to move data you own&lt;br /&gt;
# You can review and change what should happen, or block the move(s) entirely&lt;br /&gt;
# If no action is taken, after a wait period of 4 weeks, planned moves can become scheduled and then executed.&lt;br /&gt;
# Data is moved to tape, and removed from /archive/&lt;br /&gt;
&lt;br /&gt;
== Who sees what? ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Regular users&amp;lt;/b&amp;gt; see only their own datasets and actions.&lt;br /&gt;
* &amp;lt;b&amp;gt;Group admins/contacts&amp;lt;/b&amp;gt; see data for their configured group(s), in addition to their own data.&lt;br /&gt;
&lt;br /&gt;
== User pages ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Overview ===&lt;br /&gt;
This is your action page. It shows items that currently need your decision.&lt;br /&gt;
[[File:User overview 3.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
For each candidate, you can:&lt;br /&gt;
* &amp;lt;b&amp;gt;Approve&amp;lt;/b&amp;gt;: proceed with the tape move. It will schedule for the next day.&lt;br /&gt;
* &amp;lt;b&amp;gt;Deny&amp;lt;/b&amp;gt;: stop this move, configure an override for this path. Tapeworm will not try to move this dataset/path again, until you choose to remove the override.&lt;br /&gt;
* &amp;lt;b&amp;gt;Snooze&amp;lt;/b&amp;gt;: postpone the decision to a future date.&lt;br /&gt;
* &amp;lt;b&amp;gt;Edit metadata&amp;lt;/b&amp;gt;: add key/value notes for archived data. These values are included on tape and can be used to view/retrieve datasets on tape.&lt;br /&gt;
&lt;br /&gt;
You can also select multiple rows and apply actions in bulk.&lt;br /&gt;
&lt;br /&gt;
=== 2) Datasets ===&lt;br /&gt;
This page shows your discovered datasets, their sizes, and last activity times. The application has no concept of what data belongs together and should be considered a &#039;dataset&#039;. If the selections on this page are wrong, you can change how Tapeworm should handle these datasets instead.&lt;br /&gt;
&lt;br /&gt;
[[File:User datasets.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Important:&lt;br /&gt;
* If a dataset already has an active move candidate, scheduling controls are disabled.&lt;br /&gt;
 The dataset list is informational; move decisions are handled through the Schedule page.&lt;br /&gt;
&lt;br /&gt;
=== 3) Schedule ===&lt;br /&gt;
This page shows move candidates and their status over time.&lt;br /&gt;
&lt;br /&gt;
[[File:User schedule.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Common statuses:&lt;br /&gt;
* &amp;lt;b&amp;gt;Planned&amp;lt;/b&amp;gt; (or &amp;lt;b&amp;gt;planned + notified&amp;lt;/b&amp;gt;): under review.&lt;br /&gt;
* &amp;lt;b&amp;gt;Scheduled&amp;lt;/b&amp;gt;: move is planned for a specific date.&lt;br /&gt;
* &amp;lt;b&amp;gt;Executing / Tape staged / On tape&amp;lt;/b&amp;gt;: move is in progress or completed.&lt;br /&gt;
* &amp;lt;b&amp;gt;Error&amp;lt;/b&amp;gt;: move needs admin attention. You may be contacted, maybe we resolve it ourselves :).&lt;br /&gt;
&lt;br /&gt;
Once a move is already executing or completed, schedule-changing actions are locked.&lt;br /&gt;
&lt;br /&gt;
=== 4) Overrides ===&lt;br /&gt;
Overrides tell Tapeworm to ignore specific paths in future planning.&lt;br /&gt;
&lt;br /&gt;
[[File:User override.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Use overrides when:&lt;br /&gt;
* a project is still active and needs to remain on /archive&lt;br /&gt;
* policy suggestions are not appropriate for that location&lt;br /&gt;
&lt;br /&gt;
If you agree that the dataset can in principle be moved to tape, but you don&#039;t (yet) know when, you can choose to postpone/snooze the archival instead of overriding it.&lt;br /&gt;
&lt;br /&gt;
Overrides apply to the selected path and everything below it.&lt;br /&gt;
&lt;br /&gt;
== Notifications (email) ==&lt;br /&gt;
&lt;br /&gt;
Tapeworm sends email updates when actions are pending or dates are approaching.&lt;br /&gt;
&lt;br /&gt;
Emails typically include:&lt;br /&gt;
* dataset path,&lt;br /&gt;
* size and last activity,&lt;br /&gt;
* current status,&lt;br /&gt;
* review/scheduled date.&lt;br /&gt;
&lt;br /&gt;
Please read these emails carefully — they are your chance to adjust decisions before execution.&lt;br /&gt;
&lt;br /&gt;
== Best practices for users ==&lt;br /&gt;
&lt;br /&gt;
* Check your &amp;lt;b&amp;gt;Overview&amp;lt;/b&amp;gt; page regularly.&lt;br /&gt;
* Use &amp;lt;b&amp;gt;Snooze&amp;lt;/b&amp;gt; if you need time to validate impact.&lt;br /&gt;
* Add &amp;lt;b&amp;gt;metadata&amp;lt;/b&amp;gt; when approving important datasets.&lt;br /&gt;
* Use &amp;lt;b&amp;gt;Overrides&amp;lt;/b&amp;gt; for known exceptions.&lt;br /&gt;
* If unsure, contact HPC support before a scheduled move date.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== What happens if I do nothing? ===&lt;br /&gt;
Planned items can move forward automatically after the review window.&lt;br /&gt;
&lt;br /&gt;
=== Can I undo after tape staging? ===&lt;br /&gt;
Not directly in Tapeworm. Retrieval is done via the tape/iRODS workflow.&lt;br /&gt;
See: https://irods.wur.nl/userguide/tape_retrieval/&lt;br /&gt;
&lt;br /&gt;
=== Why is an action button disabled? ===&lt;br /&gt;
Usually because the move has already progressed (executing/staged/on tape/error), so schedule edits are no longer valid.&lt;br /&gt;
&lt;br /&gt;
=== Why do I see “planned + notified”? ===&lt;br /&gt;
That means the dataset move is planned and a notification has already been sent.&lt;br /&gt;
&lt;br /&gt;
== Need help? ==&lt;br /&gt;
If anything is unclear, or you think a move is incorrect but you cannot alter it in the provided GUI, please open an HPC support ticket.&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2538</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2538"/>
		<updated>2025-12-19T15:25:46Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories over the slower internal network from the active master. Each user has a 200G quota for this filesystem,it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history. Use this for programs and configuration files.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries and configuration files for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large and fast mount uses the Lustre parallel filesystem to provide files from multiple redundant servers over the fast Omnipath network. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* &#039;&#039;&#039;/archive&#039;&#039;&#039; - an archive mount only accessible from the login nodes. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
== iRods ==&lt;br /&gt;
On Anunna we host our own iRods instance.&lt;br /&gt;
&lt;br /&gt;
With that you can push data to the WUR tape storage for archiving at very low cost.&lt;br /&gt;
&lt;br /&gt;
More info on how to use it, please see https://irods.wur.nl/.&lt;br /&gt;
&lt;br /&gt;
The best course of action is to loosely follow the course, using your own data, and use your personal space for data upload and transfer to tape.&lt;br /&gt;
&lt;br /&gt;
Be sure to check whether the data is correctly stored on tape before you remove your data!&lt;br /&gt;
&lt;br /&gt;
On Anunna there are some differences and additions to the above site:&lt;br /&gt;
&lt;br /&gt;
* The zone is HPC&lt;br /&gt;
* With &amp;lt;code&amp;gt;iinit&amp;lt;/code&amp;gt; you can init the irods env. Use your account password.&lt;br /&gt;
* With &amp;lt;code&amp;gt;ils&amp;lt;/code&amp;gt; you can see your available irods collections. You need that as a destination location for &amp;lt;code&amp;gt;itape&amp;lt;/code&amp;gt;&lt;br /&gt;
* We have a function to ease uploads (use -h for help) : &amp;lt;code&amp;gt;itape&amp;lt;/code&amp;gt;&lt;br /&gt;
* We have aliases to ease checking of the status of your archive process. (it takes a while) : &amp;lt;code&amp;gt;itapestat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;itapestatnp&amp;lt;/code&amp;gt;, the first is for human use, is shows a paginated status of all your files. The latter dumps all the info, so you can e.g. use grep to filter.&lt;br /&gt;
* If you remove data with &amp;lt;code&amp;gt;irm&amp;lt;/code&amp;gt; within iRODS, the data isn&#039;t actually removed but moved to a trashbin. The advantage is that you can retrieve it if the removal was in error, the disadvantage is that the data will keep costing money. To empty it, see &amp;lt;code&amp;gt;irmtrash -h&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Because of hardware limitations on the backend tape storage, the size limit per file for our tape archive is 5T.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2534</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2534"/>
		<updated>2025-11-21T14:14:17Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Clearer descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories over the slower internal network from the active master. Each user has a 200G quota for this filesystem,it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history. Use this for programs and configuration files.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries and configuration files for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large and fast mount uses the Lustre parallel filesystem to provide files from multiple redundant servers over the fast Omnipath network. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* &#039;&#039;&#039;/archive&#039;&#039;&#039; - an archive mount only accessible from the login nodes. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
== iRods ==&lt;br /&gt;
On Anunna we host our own iRods instance.&lt;br /&gt;
&lt;br /&gt;
With that you can push data to the WUR tape storage for archiving at very low cost.&lt;br /&gt;
&lt;br /&gt;
More info on how to use it, please see https://irods.wur.nl/.&lt;br /&gt;
&lt;br /&gt;
The best course of action is to loosely follow the course, using your own data, and use your personal space for data upload and transfer to tape.&lt;br /&gt;
&lt;br /&gt;
Be sure to check whether the data is correctly stored on tape before you remove your data!&lt;br /&gt;
&lt;br /&gt;
On Anunna there are some differences and additions to the above site:&lt;br /&gt;
&lt;br /&gt;
* The zone is HPC&lt;br /&gt;
* With &amp;lt;code&amp;gt;iinit&amp;lt;/code&amp;gt; you can init the irods env. Use your account password.&lt;br /&gt;
* With &amp;lt;code&amp;gt;ils&amp;lt;/code&amp;gt; you can see your available irods collections. You need that as a destination location for &amp;lt;code&amp;gt;itape&amp;lt;/code&amp;gt;&lt;br /&gt;
* We have a function to ease uploads (use -h for help) : &amp;lt;code&amp;gt;itape&amp;lt;/code&amp;gt;&lt;br /&gt;
* We have aliases to ease checking of the status of your archive process. (it takes a while) : &amp;lt;code&amp;gt;itapestat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;itapestatnp&amp;lt;/code&amp;gt;, the first is for human use, is shows a paginated status of all your files. The latter dumps all the info, so you can e.g. use grep to filter.&lt;br /&gt;
* If you remove data with &amp;lt;code&amp;gt;irm&amp;lt;/code&amp;gt; within iRODS, the data isn&#039;t actually removed but moved to a trashbin. The advantage is that you can retrieve it if the removal was in error, the disadvantage is that the data will keep costing money. To fix that, either use &amp;lt;code&amp;gt;irm -f&amp;lt;/code&amp;gt; or the icommand to empty it, see &amp;lt;code&amp;gt;irmtrash -h&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2516</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2516"/>
		<updated>2025-07-18T09:14:58Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Added info on how to empty the iRODS trashbin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories directly from the active master. Each user has a 200G quota for this filesystem, as it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large mount uses the Lustre parallel filesystem to provide files from multiple redundant servers. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* &#039;&#039;&#039;/archive&#039;&#039;&#039; - an archive mount only accessible from the login nodes. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
== iRods ==&lt;br /&gt;
On Anunna we host our own iRods instance.&lt;br /&gt;
&lt;br /&gt;
With that you can push data to the WUR tape storage for archiving at very low cost.&lt;br /&gt;
&lt;br /&gt;
More info on how to use it, please see https://irods.wur.nl/.&lt;br /&gt;
&lt;br /&gt;
The best course of action is to loosely follow the course, using your own data, and use your personal space for data upload and transfer to tape.&lt;br /&gt;
&lt;br /&gt;
Be sure to check whether the data is correctly stored on tape before you remove your data!&lt;br /&gt;
&lt;br /&gt;
On Anunna there are some differences and additions to the above site:&lt;br /&gt;
&lt;br /&gt;
* The zone is HPC&lt;br /&gt;
* We have a function to ease uploads : &amp;lt;code&amp;gt;itape&amp;lt;/code&amp;gt;&lt;br /&gt;
* We have aliases to ease checking of the status : &amp;lt;code&amp;gt;itapestat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;itapestatnp&amp;lt;/code&amp;gt;, the first is for human use, is shows a paginated status of all your files. The latter dumps all the info, so you can e.g. use grep to filter.&lt;br /&gt;
* If you remove data with &amp;lt;code&amp;gt;irm&amp;lt;/code&amp;gt; within iRODS, the data isn&#039;t actually removed but moved to a trashbin. The advantage is that you can retrieve it if the removal was in error, the disadvantage is that the data will keep costing money. To fix that, either use &amp;lt;code&amp;gt;irm -f&amp;lt;/code&amp;gt; or the icommand to empty it, see &amp;lt;code&amp;gt;irmtrash -h&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Tariffs&amp;diff=2514</id>
		<title>Tariffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Tariffs&amp;diff=2514"/>
		<updated>2025-07-08T12:40:53Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Computing: Calculations (cores)==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Queue&lt;br /&gt;
!CPU core hour&lt;br /&gt;
!GB memory hour&lt;br /&gt;
|-&lt;br /&gt;
|Standard queue&lt;br /&gt;
|€ 0.0150&lt;br /&gt;
|€ 0.0011&lt;br /&gt;
|-&lt;br /&gt;
|High priority queue&lt;br /&gt;
|€ 0.0195&lt;br /&gt;
|€ 0.00143&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Computing: GPU Use==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tariff per device per hour (gpu/hour)&lt;br /&gt;
|-&lt;br /&gt;
|€ 0.45&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
Tariffs per year per TB&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Lustre Backup&lt;br /&gt;
!Lustre Nobackup&lt;br /&gt;
!Lustre Scratch&lt;br /&gt;
!Home-dir&lt;br /&gt;
!Archive&lt;br /&gt;
|-&lt;br /&gt;
|€ 150&lt;br /&gt;
|€ 100&lt;br /&gt;
|€ 100&lt;br /&gt;
|€ 150&lt;br /&gt;
|€ 65&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reservations ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tariff per node per day (node/day)&lt;br /&gt;
|-&lt;br /&gt;
|€ 50&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes==&lt;br /&gt;
&lt;br /&gt;
If you are a member of a group with a commitment, then these costs get deducted from that commitment. &lt;br /&gt;
Once you get to around 125% of your commitment we will take action to fix things.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
You are running a job that needs 4 cores, 32G of RAM and runs for 90 minutes in the std quality. To run this, you over-request resources slightly, and submit a job that requests 4 CPUs, 40G of RAM and with a time limit of 3 hours. Your job is done after two hours, using at maximum 3 CPUs and 32G of RAM.&lt;br /&gt;
&lt;br /&gt;
Thus, your costs are:&lt;br /&gt;
&lt;br /&gt;
4 * 0.015 * 2 = 0.12 EUR for the CPU&lt;br /&gt;
&lt;br /&gt;
40 * 0.0011 * 2 = 0.088 EUR for the memory&lt;br /&gt;
&lt;br /&gt;
Total: € 0.208&lt;br /&gt;
&lt;br /&gt;
So you are billed for the duration that you claimed the 4CPUs and 40G of RAM, not the 3 CPUs and 32G RAM you actually used.&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2513</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2513"/>
		<updated>2025-07-08T11:52:09Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories directly from the active master. Each user has a 200G quota for this filesystem, as it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large mount uses the Lustre parallel filesystem to provide files from multiple redundant servers. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* &#039;&#039;&#039;/archive&#039;&#039;&#039; - an archive mount only accessible from the login nodes. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
== iRods ==&lt;br /&gt;
On Anunna we host our own iRods instance.&lt;br /&gt;
&lt;br /&gt;
With that you can push data to the WUR tape storage for archiving at very low cost.&lt;br /&gt;
&lt;br /&gt;
More info on how to use it, please see https://irods.wurnet.nl/.&lt;br /&gt;
&lt;br /&gt;
The best course of action is to loosely follow the course, using your own data, and use your personal space for data upload and transfer to tape.&lt;br /&gt;
&lt;br /&gt;
Be sure to check whether the data is correctly stored on tape before you remove your data!&lt;br /&gt;
&lt;br /&gt;
On Anunna there are some differences and additions to the above site:&lt;br /&gt;
&lt;br /&gt;
* The zone is HPC&lt;br /&gt;
* We have a function to ease uploads : &amp;lt;code&amp;gt;itape&amp;lt;/code&amp;gt;&lt;br /&gt;
* We have aliases to ease checking of the status : &amp;lt;code&amp;gt;itapestat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;itapestatnp&amp;lt;/code&amp;gt;, the first is for human use, is shows a paginated status of all your files. The latter dumps all the info, so you can e.g. use grep to filter.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2512</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2512"/>
		<updated>2025-07-08T08:59:13Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories directly from the active master. Each user has a 200G quota for this filesystem, as it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large mount uses the Lustre parallel filesystem to provide files from multiple redundant servers. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* &#039;&#039;&#039;/archive&#039;&#039;&#039; - an archive mount only accessible from the login nodes. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
== iRods ==&lt;br /&gt;
On Anunna we host our own iRods instance.&lt;br /&gt;
&lt;br /&gt;
With that you can push data to the WUR tape storage for archiving at very low cost.&lt;br /&gt;
&lt;br /&gt;
More info on how to use it, please see https://irods.wurnet.nl/.&lt;br /&gt;
&lt;br /&gt;
The best course of action is to loosely follow the course, using your own data, and use your personal space for data upload and transfer to tape.&lt;br /&gt;
&lt;br /&gt;
Be sure to check whether the data is correctly stored on tape before you remove your data!&lt;br /&gt;
&lt;br /&gt;
On Anunna there are some differences and additions to the above site:&lt;br /&gt;
&lt;br /&gt;
* The zone is HPC&lt;br /&gt;
* We have a function to ease uploads : &amp;lt;code&amp;gt;itape&amp;lt;/code&amp;gt;&lt;br /&gt;
* We have an alias to ease checking : &amp;lt;code&amp;gt;itapestat&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2511</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2511"/>
		<updated>2025-07-07T11:32:16Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Add iRods&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories directly from the active master. Each user has a 200G quota for this filesystem, as it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large mount uses the Lustre parallel filesystem to provide files from multiple redundant servers. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* &#039;&#039;&#039;/archive&#039;&#039;&#039; - an archive mount only accessible from the login nodes. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
== iRods ==&lt;br /&gt;
On Anunna we host our own iRods instance.&lt;br /&gt;
&lt;br /&gt;
With that you can push data to the WUR tape storage for archiving at very low cost.&lt;br /&gt;
&lt;br /&gt;
More info on how, please see https://irods.wurnet.nl/.&lt;br /&gt;
&lt;br /&gt;
The best course of action is to loosely follow the course, using your own data, and use your personal space for data upload and transfer to tape.&lt;br /&gt;
&lt;br /&gt;
Be sure to check whether the data is correctly stored on tape before you remove your data!&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2510</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2510"/>
		<updated>2025-07-07T11:28:35Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: Updated /archive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories directly from the active master. Each user has a 200G quota for this filesystem, as it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large mount uses the Lustre parallel filesystem to provide files from multiple redundant servers. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* &#039;&#039;&#039;/archive&#039;&#039;&#039; - an archive mount only accessible from the login nodes. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
	<entry>
		<id>https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2496</id>
		<title>Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.anunna.wur.nl/index.php?title=Filesystems&amp;diff=2496"/>
		<updated>2025-05-26T14:29:35Z</updated>

		<summary type="html">&lt;p&gt;Haars0011: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anunna currently has multiple filesystem mounts that are available cluster-wide:&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* /home - This mount uses NFS to mount the home directories directly from the active master. Each user has a 200G quota for this filesystem, as it is regularly backed up to tape, and can reliably be restored from up to a week&#039;s history.&lt;br /&gt;
&lt;br /&gt;
* /shared - This mount provides a consistent set of binaries for the entire cluster.&lt;br /&gt;
&lt;br /&gt;
* /lustre - This large mount uses the Lustre parallel filesystem to provide files from multiple redundant servers. Access is provided per group, thus:&lt;br /&gt;
 /lustre/[level]/[partner]/[unit]&lt;br /&gt;
e.g.&lt;br /&gt;
 /lustre/backup/WUR/ABGC/&lt;br /&gt;
It comprises of two major parts (and some minor):&lt;br /&gt;
* /lustre/&#039;&#039;&#039;nobackup&#039;&#039;&#039; - This is the &#039;normal&#039; filesystem for Lustre - no backups, just stored on the filesystem. Without having a backup needed, the cost of data here is not as much as under /lustre/backup, but in case of disaster cannot be recovered.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;backup&#039;&#039;&#039; - In case of disaster, this data is stored a second time on a separate machine. Whilst this backup is purely in case of complete tragedy (such as some immense filesystem error, or multiple component failure), it can potentially be used to revert mistakes if you are very fast about reporting them. There is however no guarantee of this service.&lt;br /&gt;
* /lustre/&#039;&#039;&#039;shared&#039;&#039;&#039; - Same as /lustre/backup, except publicly available. This is where truly shared data lives that isn&#039;t assigned to a specific group.&lt;br /&gt;
&lt;br /&gt;
And additionally:&lt;br /&gt;
* /lustre/&#039;&#039;&#039;scratch&#039;&#039;&#039; - Files here may be removed after some time if the filesystem gets too full (Typically 30 days). You should tidy up this data yourself once work is complete.&lt;br /&gt;
&lt;br /&gt;
=== Private shared directories ===&lt;br /&gt;
If you are working with a group of users on a similar project, you might consider making a [[Shared_folders|Shared directory]] to coordinate. Information on how to do so is in the linked article.&lt;br /&gt;
&lt;br /&gt;
== Local ==&lt;br /&gt;
Specific to certain machines are some other filesystems that are available to you:&lt;br /&gt;
* /archive - an archive mount only accessible from the login nodes. Files here are sent to the PowerScale for deeper storage. The cost of storing data here is less than on Lustre, but it cannot be used for compute work. This location is only available to WUR users. Files are able to be reverted via snapshot, and there is a separated backup, however this only comes in fortnightly (14 day) intervals.&lt;br /&gt;
&lt;br /&gt;
* /tmp - On each worker node there is a /tmp mount that can be used for temporary local caching. Be advised that you should clean this up, lest your files become a hindrance to other users. You can request a node with free space in your sbatch script like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SBATCH --tmp=&amp;lt;required space&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /dev/shm - On each worker you may also create a virtual filesystem directly into memory, for extremely fast data access. Be advised that this will count against the memory used for your job, but it is also the fastest available filesystem if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tariffs | Costs associated with resource usage]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://wiki.lustre.org/index.php/Main_Page Lustre website]&lt;/div&gt;</summary>
		<author><name>Haars0011</name></author>
	</entry>
</feed>