psusan(1) PuTTY tool suite psusan(1) (NAME) psusan - -SSH (SYNOPSIS) psusan [ ] (DESCRIPTION) psusan () <<>> (connection) SSH . SSH : o o ( ) o SFTP o (port-forwarding) SSH o X11 o SSH (SSH agent) SSH (session hijacking) . : (bare) psusan . psusan PuTTY Plink PSCP PSFTP <> -ssh-connection (Unix-domain socket) . (EXAMPLES) . psusan . Docker / . Docker . Docker : docker run -i -t some:image Docker . ( ). SSH . -t Docker ( << >> ) psusan : docker run -i some:image /some/path/to/psusan ( psusan .) (banner) : SSHCONNECTION@putty.projects.tartarus.org-2.0-PSUSAN_Release_0.75 psusan . PuTTY : o <> ( psusan) . o hostname . PuTTY ( PuTTY) . <> . o <> <> <> <> . o <> (connection sharing) . ( .) PuTTY Docker SSH psusan . Docker SSH . <> <> Docker ( ). PSCP PSFTP X11 SSH . SSH . : SSH . : SSH . . IPC . User-mode Linux User-mode Linux ( UML) . . UML <> . UML : linux mem=512M rootfstype=hostfs rootflags=/ rw init=/bin/bash ( UML <> ) : root@(none):/# UML psusan bash psusan . psusan psusan /proc . init psusan . psusan UML psusan . UML linux . UML : linux mem=512M rootfstype=hostfs rootflags=/ rw \ con=fd:2,fd:2 ssl0=fd:0,fd:1 init=/some/path/to/uml-psusan.sh uml-psusan.sh : #!/bin/bash # Set up vital pseudo-filesystems mount -t proc none /proc mount -t devpts none /dev/pts # Redirect I/O to the serial port, but stderr to the console exec 0<>/dev/ttyS0 1>&0 2>/dev/console # Set the serial port into raw mode, to run a binary protocol stty raw -echo # Choose what shell you want to run inside psusan export SHELL=/bin/bash # Set up a default path export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin # And now run psusan over the serial port exec /home/simon/src/putty/misc/psusan PuTTY Docker . linux . setsid(1) UML . PuTTY . : setsid linux mem=512M rootfstype=hostfs rootflags=/ rw \ con=fd:2,fd:2 ssl0=fd:0,fd:1 init=/some/path/to/uml-psusan.sh << >> (Discards data sent before its greeting) PuTTY UML . ( .) PuTTY UML ( ) . Windows Subsystem for Linux WSL wsl . . PuTTY ( PuTTY ) psusan PuTTY . WSL << >> (host name) : o <> ( psusan ) o WSL (host name) . ( WSL <> .) o <> . WSL ( WSL2 NAT ) Pageant . Cygwin Cygwin . mintty ( PuTTY ) PuTTY Cygwin psusan . PuTTY Cygwin ( cmake). psusan.exe /bin Cygwin . ( -Cygwin DLL Cygwin .) PuTTY : o psusan.exe . --sessiondir Cygwin . <> ( ). o host name <> o <> . Cygwin . (agent forwarding) SSH Cygwin Pageant . schroot schroot(1) . schroot . PuTTY psusan schroot : schroot -c chroot-name /some/path/to/psusan chroot X11 chroot X chroot . (Between network namespaces) (network namespaces) TCP/IP psusan (non-root) . TCP/IP : ping PuTTY SOCKS . --listen psusan . host name PuTTY ( <> ) SSH . . GNU userv (Between user ids, via GNU userv) ( ) <<>> . psusan GNU userv(1) . userv : if (glob service psusan & glob calling-user my-main-account-name) reset execute /some/path/to/psusan fi : userv my-sub-account-name psusan PuTTY . sudo . ( ) : userv (root) . . cp . psusan userv : scp . (OPTIONS) psusan : --listen unix-socket-name psusan . unix-socket-name . ( ) psusan . . psusan TCP/IP . --listen-once psusan . --sessiondir pathname . psusan psusan . -v, --verbose psusan . . -sshlog logfile -sshrawlog logfile psusan PuTTY Plink. -sshlog SSH ( -v ) . -sshrawlog . PuTTY tool suite 2020-12-13 psusan(1)