From 3e6858a4405d7726bddff619faa0d934f88c276a Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Wed, 29 Oct 2025 09:31:56 +0100 Subject: [PATCH 1/2] Add information about SSH/VNC and running Linux at home to 03-linux --- 03-linux/03-linux.tex | 68 +++++++++++++++++++++++++++++++++++++++++++ 03-linux/03-linux.toc | 2 ++ 2 files changed, 70 insertions(+) diff --git a/03-linux/03-linux.tex b/03-linux/03-linux.tex index f9a258e..2e27546 100644 --- a/03-linux/03-linux.tex +++ b/03-linux/03-linux.tex @@ -305,6 +305,74 @@ \section{Basic Linux commands} Demo \end{frame} +\section{Connection to remote devices} + +\begin{frame}{What is SSH?} + \begin{itemize} + \item \textbf{Secure Shell (SSH)} is a network protocol for secure remote login and command execution over untrusted networks. + \item Ensures confidentiality, integrity, and authenticity via encryption and message authentication. + \item Client–server model: \texttt{ssh} client connects to \texttt{sshd} on the remote host (default port 22). + \item Authentication methods: public key (recommended), password, and host keys for server trust. + \item Beyond shells: supports port forwarding/tunneling and file transfer (SCP/SFTP). + \end{itemize} +\end{frame} + +\begin{frame}{Connecting via SSH} + \begin{itemize} + \item Secure Shell provides encrypted remote terminal access and tunneling. + \item Ensure an SSH server is running on the remote (default port 22). + \item Prefer key-based authentication over passwords. + \end{itemize} + \begin{exampleblock}{Examples} + \begin{itemize} + \item \texttt{ssh user@host} — connect using default port + \item \texttt{ssh -p 2222 user@host} — use a custom port + \item \texttt{ssh -i /home/user/.ssh/id\_ed25519 user@host} — specify a key + \item \texttt{ssh-keygen -t ed25519 -C "you@example.com"} — generate a key pair + \item \texttt{ssh-copy-id user@host} — install your public key on the server + \end{itemize} + \end{exampleblock} +\end{frame} + +\begin{frame}{Remote desktop with VNC} + \begin{itemize} + \item \textbf{VNC} shares a remote graphical desktop; connect with a VNC viewer. + \item Server runs per-user displays like \texttt{:1}, \texttt{:2} + \item Best for GUI admin and light apps; bad for using 3D. + \end{itemize} + \begin{exampleblock}{Examples} + \begin{itemize} + \item \texttt{sudo apt install tigervnc-standalone-server tigervnc-common} + \item \texttt{vncpasswd} — set per-user VNC password + \item \texttt{vncserver -localhost yes -geometry 1920x1080 :1} + \item \texttt{ssh -L 5901:localhost:5901 user@host} — then connect viewer to \texttt{localhost:5901} + \item \texttt{vncserver -list} / \texttt{vncserver -kill :1} + \end{itemize} + \end{exampleblock} +\end{frame} + +\section{Running Linux} + +\begin{frame}{Ways to run Linux on your home device} + \begin{itemize} + \item Native installation on hardware + \item Virtual machines (e.g., VirtualBox, VMware) + \item Subsystem for Linux (WSL) \textit{(Windows only)} + \item Docker containers + \item Live USB/CD + \end{itemize} +\end{frame} + +\begin{frame}{Ways to run Linux: differences} + \begin{itemize} + \item \textbf{Native install}: Best performance and full hardware access; requires partitioning and can disrupt existing OS. + \item \textbf{Virtual machine}: Strong isolation and easy snapshots; moderate overhead and limited direct device/GPU access. + \item \textbf{WSL}: Convenient dev workflow on Windows; runs in a lightweight VM with limited low-level hardware/peripheral access. + \item \textbf{Docker container}: More lightweight solution (in case of Windows/macOS also based on VM); shares host kernel (not a full OS), limited system-level control. + \item \textbf{Live USB/CD}: No installation and minimal risk; slower I/O, changes may be non-persistent unless using persistence. + \end{itemize} +\end{frame} + \begin{frame} \centering \Huge{Thank You!} diff --git a/03-linux/03-linux.toc b/03-linux/03-linux.toc index 9850200..749a790 100644 --- a/03-linux/03-linux.toc +++ b/03-linux/03-linux.toc @@ -2,3 +2,5 @@ \beamer@sectionintoc {2}{History}{7}{0}{2} \beamer@sectionintoc {3}{Linux}{13}{0}{3} \beamer@sectionintoc {4}{Basic Linux commands}{18}{0}{4} +\beamer@sectionintoc {5}{Connection to remote devices}{24}{0}{5} +\beamer@sectionintoc {6}{Running Linux}{28}{0}{6} From 74e9f4f0adf4f4d2d369a9ad1164c16fe1b17b81 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Wed, 29 Oct 2025 09:38:58 +0100 Subject: [PATCH 2/2] Fix linter remarks --- 03-linux/03-linux.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/03-linux/03-linux.tex b/03-linux/03-linux.tex index 2e27546..74d1c2c 100644 --- a/03-linux/03-linux.tex +++ b/03-linux/03-linux.tex @@ -328,7 +328,7 @@ \section{Connection to remote devices} \item \texttt{ssh user@host} — connect using default port \item \texttt{ssh -p 2222 user@host} — use a custom port \item \texttt{ssh -i /home/user/.ssh/id\_ed25519 user@host} — specify a key - \item \texttt{ssh-keygen -t ed25519 -C "you@example.com"} — generate a key pair + \item \texttt{ssh-keygen -t ed25519 -C you@example.com} — generate a key pair \item \texttt{ssh-copy-id user@host} — install your public key on the server \end{itemize} \end{exampleblock} @@ -344,9 +344,9 @@ \section{Connection to remote devices} \begin{itemize} \item \texttt{sudo apt install tigervnc-standalone-server tigervnc-common} \item \texttt{vncpasswd} — set per-user VNC password - \item \texttt{vncserver -localhost yes -geometry 1920x1080 :1} + \item \texttt{vncserver -localhost yes -geometry 1920x1080 :1} % chktex 26 % chktex 29 \item \texttt{ssh -L 5901:localhost:5901 user@host} — then connect viewer to \texttt{localhost:5901} - \item \texttt{vncserver -list} / \texttt{vncserver -kill :1} + \item \texttt{vncserver -list} / \texttt{vncserver -kill :1} % chktex 26 \end{itemize} \end{exampleblock} \end{frame} @@ -365,7 +365,7 @@ \section{Running Linux} \begin{frame}{Ways to run Linux: differences} \begin{itemize} - \item \textbf{Native install}: Best performance and full hardware access; requires partitioning and can disrupt existing OS. + \item \textbf{Native install}: Best performance and full hardware access; requires partitioning and can disrupt existing OS.\@ \item \textbf{Virtual machine}: Strong isolation and easy snapshots; moderate overhead and limited direct device/GPU access. \item \textbf{WSL}: Convenient dev workflow on Windows; runs in a lightweight VM with limited low-level hardware/peripheral access. \item \textbf{Docker container}: More lightweight solution (in case of Windows/macOS also based on VM); shares host kernel (not a full OS), limited system-level control.