ssh命令

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命令_第1张图片

使用ssh

  1. 无选项参数运行
    通常使用SSH的方式就是不加任何选项参数,仅仅输入“SSH”
$ ssh 192.168.1.1
  1. 指定登陆用户

默认的,ssh会尝试用当前用户作为用户名来连接。因为是在当前用户客户机上使用ssh客户端。

$ ssh -l leni 192.168.1.1
#等价于
$ ssh [email protected]
  1. 指定端口

SSH默认端口是22。大多现代的Linux系统22端口是开放的。如果你运行ssh程序而没有指定端口号,它直接就是通过22端口发送请求。

一些系统管理员会改变SSH的默认端口号。让我们试试,现在端口号是1234。要连上主机,就要使用-p选项,后面再加上SSH端口

$ ssh 192.168.1.1 -p 1234

要改变端口号,我们需要修改/etc/ssh/ssh_config文件,找到此行:

Port 22

把它换成其他端口号,比如上面的1234.然后重启SSH服务。

  1. 对所有数据请求压缩
    有了这个选项,所有通过SSH发送或接受的数据将会被压缩,并且仍然是加密的。要使用SSH的压缩功能,使用-C选项
$ ssh -C 192.168.1.1

如果你的联网速度很慢的话,这个选项非常有用。但如果你网速很快的话,压缩反而会降低你的速度。可以使用-o选项加上压缩级别参数来控制压缩的级别,但这个选项仅仅在SSH -1下起作用。

  1. 指定一个加密算法。
    ssh 提供了一些可用的加密算法。可以在 /etc/ssh/ssh_config or ~/.ssh/config文件中看到(如果存在的话)

  2. 打开调试模式
    因为某些原因,我们想要追踪调试我们建立的SSH连接情况。SSH提供的-v选项参数正是为此而设的。

$ ssh -v 192.168.1.1
  1. 绑定源地址
    如果你的客户端有多余两个以上的IP地址,你就不可能分得清楚在使用哪个IP连接到SSH服务器。

为了解决这种情况,我们可以使用-b选项来指定一个地市。这个IP将会被使用做建立连接的源地址。

$ ssh -b 192.168.1.1 -l leni 192.168.1.100

服务端,我们可以使用netstat命令来检查到服务的连接是否建立。可以看到IP为192.168.1.1的连接已经建立。

  1. 使用其他配置文件
    默认情况下,ssh 会使用位于 /etc/ssh/ssh_config的配置文件。这个配置文件作用于系统的所有用户。但你想要为特定的用户指定特殊的设置的话,可以把配置文件放入 ~/.ssh/config 文件中。如果此文件不存在,可以手工创建一个。
#要使用指定配置文件,可以使用-F选项
$ ssh -F /apple/ssh/my_ssh_config 192.168.1.1
  1. 使用SSH X11 Forwarding
    某些时候,你可能想把服务端的 X11 应用程序显示到客户端计算机上,SSH 提供了 -X 选项。但要启用这功能,我们需要做些准备,下面是它的设置:

在服务器端,你需要使/etc/ssh/ssh_config文件中的行设置成 ForwardX11 yes 或者 X11Forwad yes,以启用 X11 Forwarding,重启 SSH 服务程序。

然后在客户端,输入 ```ssh -X user@host:``

$ ssh -X [email protected]

一旦登陆,可以输入:

$ echo $DISPLAY

来检查,你应该可以看到向如下所示的

localhost:10:0

随后就可以运行应用了,仅仅只能输入应用程序的命令。让我们试试,比如想运行 xclock 程序,输入:

$ xclock

它就运行起来了,xclock 确实是运行在远端系统的,但它在你的本地系统里显示了。

总结

#不指定用户
ssh 192.168.1.1

#指定用户
ssh -l root 192.168.1.1
ssh [email protected]

#如果修改过ssh登陆端口
ssh -p 12333 192.168.1.1
ssh -l root -p 12333 192.168.1.1
ssh -p 12333 [email protected]

#另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。

#编辑配置文件:
vim /etc/ssh/sshd_config

#找到#Port 22,去掉注释,修改成一个五位的端口:
Port 12333

 

#找到#PermitRootLogin yes,去掉注释,修改为:
PermitRootLogin no

#重启sshd服务:
service sshd restart

你可能感兴趣的:(ssh命令)