.TH MDT "1" "December 2018" "MDT" "User Commands"
.SH NAME
mdt \- manipulate Mendel Linux devices
.SH SYNOPSIS
.B mdt
[\fI\,SUBCOMMAND\/\fR] [\fI\,ARGS\/\fR]...
.SH DESCRIPTION
.PP
MDT is a simple tool to aid in working with single board computers that the
Mendel Linux distribution runs on. It consists of a whole bunch of pre-existing
open source tooling, coupled with some simple wrappers written in python to ease
their use.
.PP
It also provides an easy way to interact with these boards without having to
fight with serial consoles, IP addresses, and other fiddly bits, reducing
barrier to entry when working with these boards.
.PP
With minimal effort, MDT should also be portable to existing systems such as
Debian and Ubuntu, if needed. This, however, is out of the scope of this
project.
.PP
MDT primarily uses the SSH protocol for most of its operations, and heavily
relies on key-based authentication to the device.
.SH TYPICAL WORKFLOW
.PP
Running the \fBmdt\fR command will automatically print out a summary of useful
subcommands to run. The typical workflow with mdt is the following:
.PP
Run \fBmdt devices\fR to see what devices are available on your local network
segment.
.PP
Run \fBmdt set preferred-device \fR\fIDEVICE-NAME-OR-IP-ADDRESS\fR to set the
name or IP address of the device you would like to connect to.
.PP
Run \fBmdt shell\fR to open an interactive terminal to the device. This will
automatically generate a key (if you didn't have one already), push the key to
the board, and then open an interactive shell via SSH.
.PP
Run \fBmdt pull\fR or \fBmdt push\fR to push and pull files to and from the
device.
.PP
Run \fBmdt install\fR to install a locally-built Debian package to the board,
without having to manually push and run dpkg.
.SH NETWORKING
.PP
MDT uses SSH to handle most commands in the backend, and requires SSH keys for
authentication to the device. Keys are stored in the \fB~/.config/mdt/keys\fR
directory, and are readily usable by standard SSH tooling, if required. The
remote device is expected to advertise the _googlemdt._tcp service over mDNS
and run both SSH and \fBmdt-keymaster\fR.
.SH INITIAL SETUP
.PP
MDT expects the remote device to be free of any initial SSH keys and running the
\fBmdt-keymaster\fR service on port 41337. This service is a simple HTTP server
that expects a single PUT command to be sent containing a line that can be added
to the default user's authorized_keys file.
.PP
During first contact the MDT client will generate an SSH key if none are on
disk. Once it has one, it will attempt to connect via SSH to the remote device
using this key only. If this fails, it will then attempt to push the key's
public part via the \fBmdt-keymaster\fR service as described above.
.PP
Once this file has been written to, \fBmdt-keymaster\fR will stop running from
that point forward, and key authentication should perform normally. It is
expected that the remote SSH service will be running in key authentication mode
only.
.PP
To reset the board's authentication keys, run \fBmdt resetkeys\fR. This will
remove all MDT keys from the device's authorized_keys file and restart
\fBmdt-keymaster\fB, making it ready to receive new keys again.
.SH SUBCOMMANDS
.PP
MDT recognizes the following subcommands:
.PP
.TP
\fBhelp\fR
gets detailed help on any other subcommand
.TP
\fBclear\fR
clears (unsets) an MDT variable on disk
.TP
\fBdevices\fR
prints a list of discovered devices on the local network segment
.TP
\fBexec\fR
runs a shell command on a connected device
.TP
\fBgenkey\fR
generates an SSH key to use for authenticating to a device
.TP
\fBget\fR
prints the value of an MDT variable on disk
.TP
\fBinstall\fR
installs a Debian package (.deb) to a connected device
.TP
\fBpull\fR
pulls (copies, downloads) a single or set of files from a connected device
.TP
\fBpush\fR
pushes (copies, uploads) a single or set of files to a connected device
.TP
\fBreboot\fR
reboots a connected device
.TP
\fBreboot-bootloader\fR
reboots a connected device into the fastboot bootloader
.TP
\fBresetkeys\fR
removes all MDT keys from a device and restarts \fBmdt-keymaster\fR so that keys
may be pushed again
.TP
\fBset\fR
sets an MDT variable on disk
.TP
\fBsetkey\fR
imports an OpenSSH \fBprivate\fR key in PEM format into MDT's keys directory
.TP
\fBshell\fR
opens an SSH shell connection to a connected device
.TP
\fBwait-for-device\fR
waits for a device to be discovered on the local network segment
.TP
\fBversion\fR
prints which version of MDT this is
.SH FILES
.PP
MDT stores files in the user's home directory under the standard
\fB.config/mdt\fR heirarchy. Two subdirectories are used in here, called
\fBattribs\fR and \fBkeys\fR.
.PP
\fBattribs\fR contains any single-line files used to store MDT variables.
.PP
\fBkeys\fR contains the SSH keys generated by MDT and are used for SSH
authentication.
.SH KNOWN ISSUES
.PP
None.
.SH AUTHOR
Written by June Tate-Gans.
.SH "REPORTING BUGS"
Contact Coral support at <coral-support@google.com>
.SH COPYRIGHT
Copyright \(co 2018 Google, Inc.
License Apache 2.0.
