SSH常用用法简介

在我们的日常运维中,一个管理员一般会同时管理着多组服务器,这些服务器很有可能会放在不同的地方,而且一般情况下,服务器也不会配备显示器,所以我们要直接物理机登录来管理这些大家伙显然不是一个好办法。

实际上,我们在日常生产中是通过远程控制的方法来管理。而我们管理服务器最常用的程序就是SSH(如果你用的不是linux服务器,请跳过。。。。)。

我们先来科普下什么是SSH哈。SSH的全称是Secure Shell,顾名思义,就是安全的shell,其实,它是一种加密的网络协议。所有使用该协议的数据都将被加密。所以,即使数据在传输过程中发生泄漏,也可以确保几乎没有人能破译读取其中有用的信息。当你想在不安全的网络(例如互联网)下想要安全的远程连接到主机,使用 SSH就是一种很好的办法。SSH 是基于C/S模式(即客户端-服务器模式)的,因此要使用 SSH,目标服务器应该安装 SSH 服务端程序,而客户端要安装SSH客户端程序。

一般的服务器系统都自带SSH哈,要想知道是否安装SSH的话,可以直接输入SSH命令,如果安装的话,结果如图:

ssh001.png

如果你的服务器没有带的话可以自己安装哈,服务器要安装SSH的服务端程序。

基于 Debian / Ubuntu 的系统 :

$ sudo apt-get install openssh-server

基于 RedHat / CentOS 的系统(root权限安装) :

# yum install openssh-server

我们要使用SSH管理的话,也需要安装SSH客户端,当然linux、MAC一般都自带SSH,如果没有只能自己安装了

基于 Debian / Ubuntu 的系统 :

$ sudo apt-get install openssh-client

基于 RedHat / CentOS 的系统(root权限安装) :

# yum install openssh-client

安装完后我们就可以使用SSH了,SSH中有好多可选项,但是并不是经常用到。

使用SSH最基本的方式就是不加任何参数,直接跟IP

$ ssh 10.1.2.105

ssh002.png

第一次连接目标主机时,需要确认主机的真实性。只有你回答Yes时它才会继续,同时,会生成一个RSA key作为唯一电子指纹记录,如果下次连接发现指纹变化,它会提示你重新确认。如果指纹没有变化,SSH 就不会再提示确认了。

ssh.png

如果你没有指定用户名,SSH默认会使用当前用户的用户名来连接。例如上面的命令中,它会尝试用以cuishengjie作为用户名来试图登入服务器,如果目标主机上没有这个用户,会提示你输入用户名。

如果我们要开始就指定用户名,我们就可以使用 -l 的参数

$ ssh -l cuishengjie 10.1.2.105

ssh003.png

也可以简写成

$ ssh cuishengjie@10.1.2.105

ssh004.png

SSH 的默认端口号是 22。如果你连接ssh时没有指定端口号,它默认就是通过 22 端口发送接收数据。但在实际使用中,有些管理员为了安全,会改变SSH的端口号。这时如果我们要连接非默认端口的SSH,我们就要使用-p参数,参数后面加上SSH的端口号。例如我们要连接8888端口,我们可以

$ ssh cuishengjie@10.1.2.105 -p 8888

ssh005.png

因为我这端口是22,就以22演示,命令虽不一样,原理是一样的哈。

如果我们的网速不是很理想的话,我们可以使用-C参数对数据进行压缩,当然,压缩后的数据仍然是会加密的,这在你使用类似modem等慢速网连接的话是很有用的。当然如果你使用的是像高速局域网或者更快的网络的话,对数据进行压缩反而会降低性能。如果在SSH-1下我们还可以使用-o参数指定压缩级别。

使用方法:

$ ssh -C cuishengjie@10.1.2.105

ssh006.png

如果你的客户机有两个或两个以上的 IP地址,你要使用SSH来连接服务器的话,SSH会自动选择IP,如果你需要指定IP的话,就可以使用-b参数来指定一个IP ,例如:

$ ssh -b 10.1.2.104 cuishengjie@10.1.2.105

ssh007.png

默认情况下,SSH配置文件位于 /etc/ssh/ssh_config。这个配置文件适用于所有系统用户。如果你想使用一个自定义的配置文件,就可以使用-F参数。例如,我们要使用用户目录下的new_ssh_config配置文件,我们可以

$ ssh -F /home/cuishengjie/new_ssh_config cuishengjie@10.1.2.105

有些时候我们需要连接到某些无法直接连接的主机时,我们就需要中转。例如某主机B我们无法连接,但是我们可以连接主机A,而主机A却是可以连接到主机B,这时候我们就可以使用-t参数

$ ssh -t hostA ssh hostB

有些时候,我们需要进行端口转发来实现某些代理的功能,这时我们就可以用-D参数来进行端口转发,例如我们要把数据转发到8888端口,我们就可以

$ ssh -D 8888 cuishengjie@10.1.2.105

ssh008.png

其实,SSH还有好多参数和用法,这里就不一一列举了,基本我们用不到,有需要的话我们可以查看帮助,也可以和我共同交流。

版权声明:
作者:崔圣杰
链接:https://www.cuishengjie.com/111.html
来源:论剑阁-崔圣杰博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
SSH常用用法简介
我们先来科普下什么是SSH哈。SSH的全称是Secure Shell,顾名思义,就是安全的shell,其实,它是一种加密的网络协议。所有使用该协议的数据都将被加密。所以,即使数据在传输过程中发生泄漏,也可以确保几乎没有人能破译读取其中有用的信息。当你想在不安全的网络(例如互联网)下想要安全的远程连接到主机,使用 SSH就是一种很好的办法。SSH 是基于C/S模式(即客户端-服务器模式)的,因此要使用 SSH,目标服务器应该安装 SSH 服务端程序,而客户端要安装SSH客户端程序。
<<上一篇
下一篇>>