Linux ssh命令

指定端口和私钥连接

$ ssh username@remote_host -p port -i ~/.ssh/private.key

远程执行命令

$ ssh pandll-hk ls -l

挂载远程文件系统

$ sudo apt-get install sshfs

$ sshfs -o idmap=user pandll-hk:/home/wayde ~/Remote

该命令就将远程主机user用户的主目录挂载到本地主目录下的 Remote文件夹

利用X11 Forwarding远程执行GUI程序

原理

Linux下执行一个GUI程序通常需要两个部分来协调完成,X server与X client。

X server是专门负责显示用户界面的,它管理你的显示器,键盘以及鼠标,通常你看到的桌面系统即是由它在背后驱动的。

X client则负责程序的逻辑,如果需要使用用户界面,则通过给X server发送请求来完成。

通常情况下,X server与X client都运行在同一台机器上,例如我们在Window上运行任何GUI程序都是这样的。

但因为X系统当初设计成是通过socket在X server与X client之间通信的,所以它们也可以运行在不同的机器上。
X11 Forwarding就提供了一个方法,在远程机器上执行X client程序(如Firefox),但是在本地机器上显示(即运行X server)。

步骤

  1. 配置X client

    1
    2
    3
    $ cat /etc/ssh/sshd_config
    X11Forwarding yes
    X11DisplayOffset 10
  2. 配置X server

    1
    2
    3
    $ cat /etc/ssh/ssh_config
    Host *
    ForwardX11 yes
  3. 远程连接

    $ ssh -aX pandll-hk

将本机公钥写入远程服务器

$ cat ~/.ssh/id_rsa.pub | ssh user@host 'cat >> .ssh/authorized_keys'

参考资料:
Linux 下 SSH 命令实例指南
Ubuntu下ssh连接显示图形界面