ssh
logout: exit or Ctrl-D (in shell it means end of input)
run remote command without going into the remote shell:
ssh user@hostname "command"ssh keys are stored in
~/.ssh
config file: .ssh/config
With the following in the config file, ssh dev will connect to the server.
Host dev
    User scott
    HostName orion.dev
    IdentityFile ~/.ssh/id_rsaGeneral structure of the config file
Host hostname1
    SSH_OPTION value
    SSH_OPTION value
Host hostname2
    SSH_OPTION value
Host *
    SSH_OPTION valueA single ssh command can match multiple sections in the config file. If multiple sections set the same SSH_OPTION, the first one wins. Therefore the generic settings (matching *) comes last.
Common ssh options includes:
Hostname
User
SendEnv
ProxyJump
IdentityFile
ForwardAgent
Port
AddKeysToAgent
UseKeychain
ServerAliveInterval
Refs
SCP
# Send local file to user home folder in server. Note the colon at the end.
scp localfile.txt [email protected]:
# Send local file to a specific path in server
scp localfile.txt [email protected]:/var/tmp
# Get file from server to current local folder
scp [email protected]:filename.txt .
# use -r for directorySSH Tunnel
Example: a remote database server (orion.dev:3306) only allows local access. On local machine we have a GUI tool, which can't connect to the remote database directly.
Solution: On local machine, use the following line to connect local port 9000 with server's port 3306 (via localhost:22, the port SSH uses). Note that the localhost in the following line refers to the remote server.
ssh -L 9000:localhost:3306 [email protected]Then the GUI tool can connect to localhost:9000 to access the remote database.
Last updated
Was this helpful?