9个 SSH常用命令选项
SSH 是什么
SSH(全称 Secure Shell)是一种加密的网络协议。弋讥孜求使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息。要使用 SSH,目标机器应该安装 SSH 服务端应用程序,因为SSH 是基于客户-服务模式的。当你想安全的远程连接到主机,可中间的网络(比如因特网)并不安全,通常这种情况下就会使用 SSH。
安装 SSH
如果碰巧你的机器没装,我们可以手工来安装一下。最简单的方式就是使用 Linux 包管理器。
基于 Debian / Ubuntu 的系统 :
安装 ssh-client
$ sudo apt-get install openssh-client
安装 ssh-server
$ sudo apt-get install openssh-server
基于 RedHat / CentOS 的系统 :
# yum install openssh-server openssh-clients
SSH 一旦安装上,我们就可以在终端下输入ssh来检查下安装的是否正常。
第一次连接目标主机时,ssh 会让你确认目标主机的真实性。如果你回答的是NO,SSH 将不会继续连接,只有回答Yes才会继续。
我们也可以这样输入:
$ ssh leni@192.168.0.0103
让我们试试比如你想使用blowfish算法来加密你的 SSH 会话,那么你只要把这一行加入你的/etc/ssh/ssh_config or ~/.ssh/config文件就可以:
Cipher blowfish
默认的,SSH 会使用 3des 算法。
6. 打开调试模式
因为某些原因,我们想要追踪调试我们建立的 SSH 连接情况。SSH 提供的-v选项参数正是为此而设的。
$ ssh -v 192.168.0.103
为了解决这种情况,我们可以使用-b选项来指定一个IP 地址。这个 IP 将会被使用做建立连接的源地址。
$ ssh -b 192.168.0.200 -l leni 192.168.0.103
服务端,我们可以使用 netstat 命令来检查到服务的连接是否建立。可以看到 IP 为 192.168.0.200 的连接已经建立。
9. 使用 SSH X11 Forwarding
某些时候,你可能想把服务端的 X11 应用程序显示到客户端计算机上,SSH 提供了-X选项。但要启用这功能,我们需要做些准备,下面是它的设置:
在服务器端,你需要使/etc/ssh/ssh_config文件中的行设置成ForwardX11 yes 或者 X11Forwad yes,以启用 X11 Forwarding,重启 SSH 服务程序。
然后在客户端,输入ssh -X user@host:
$ ssh -X leni@192.168.0.101
一旦登陆,可以输入:
$ echo $DISPLAY
来检查,你应该可以看到向如下所示的
localhost:10:0
随后就可以运行应用了,仅仅只能输入应用程序的命令。让我们试试,比如想运行 xclock 程序,输入:
$ xclock
它就运行起来了,xclock 确实是运行在远端系统的,但它在你的本地系统里显示了。