第五章 Linux常用服务介绍-5.3 ssh远程登录服务

先举一个例子,比如在工业现场,有个Linux设备可能出现了故障,需要管理员去解决,或者修改一些配置,这时候,有一种方式,就是这个管理员来到这台Linux设备跟前,进行相关操作,解决问题,但如果这时候,管理人员不再附近,要让他过来就很不方便,或者还有一个问题,工业现场很多Linux设备都是控制器,平时也没有接显示器,也没有接鼠标,键盘。所以,要直接操作这个机器就很不方便,而通过ssh服务,管理人员就可以远程登录到这台机器,对这台机器进行相关操作,就好像在本地进行操作一样。这就是接下来要介绍的ssh服务。

SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。

ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)

ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm,putty等工具进行连接,我比较常用的putty这个工具,既简单,又好用。

1)ssh服务的安装和配置

如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server。ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。可以通过如下命令进行:


#sudo apt-get install openssh-server

然后确认sshserver是否启动了:

#ps -e |grep ssh

如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:sudo /etc/init.d/ssh start
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。
然后重启SSH服务:

#sudo systemctl stop sshd
#sudo systemctl start sshd

然后使用以下方式登陆SSH:

ssh james@192.168.0.100 

james为192.168.0.100机器上的用户,需要输入密码。
断开连接:exit

ssh默认是不能以root用户登录的,如果需要root登录,就需要修改配置文件,允许root登录,我们来介绍,如何修改配置/etc/ssh/sshd_config, 开启允许root 登录,主要就是把下面选项打开

LoginGraceTime 2m
PermitRootLogin yes

然后重启ssh 服务

systemctl restart sshd

就可以使用root用户登录了

ssh -p 22 root@10.20.9.205
root@10.20.9.205's password: 
Permission denied, please try again.

如果出现以上情况,可能是root密码没对,可以修改一下root密码再试试

Permission denied, please try again.

应该就可以正常登录了

2)ssh客户端远程登录

ssh服务提供了远程连线访问的功能,对于提供ssh服务的Linux系统,我们通过通过网络中其他的设备,远程登录到这个Linux设备,登录后,可以对Linux进行任何操作,就好像在直接在在那台Linux设备进行操作。不过ssh是基于控制台交互,即通过之前介绍的shell命令进行交互,而不是基于图形的,如果要远程连接Linux的图形桌面,就采用VNC服务,后续会有讲到。

但通常ssh是远程连线控制Linux最常用的,而且在一般嵌入Linux中,或者服务系统中,一般是没有图形桌面,所以也不支持VNC的图形连线。

要通过ssh远程连线Linux系统,除了刚才上面提到的命令行方式,也有其他更加方便的SSH的客户端程序,不管是window还是Linux,都有很多ssh客户端程序,网络去搜索一下,就可以找到很多。我这里介绍一款我认为最好用,也是我最常用的SSH客户端工具,putty。

putty有Windows版本,也有Linux版本,也是使用最广泛的SSH客户端。它进场用于远程访问和配置服务器、交换机和路由器等设备。Putty作为一个免费的开源工具,在Linux用户中也很受欢迎。它受欢迎的另一个原因是它的功能,包括会话管理、代理会话、会话日志和语言设置。它还支持各种网络协议,包括SSH、telnet、SCP、rlogin等。

我们先来看,在Windows下如何安装putty工具。

进入Putty官网的下载页面:

http://www.putty.be/latest.html

下载对应的版本安装即可,我的Windows的64位的,所以我就选择下载64位版本,下载后安装即可。

安装完成后,

如上图,选择 ssh,输入需要连线的远程设备的IP地址,点击Open,就可以进行远程连线了,第一次连线时,会弹出如下对话框,

点击accept即可。

然后会提示你输入用户名和密码,这是要输入远程Linux设备的用户名和密码,输入后,就连接成功了,进入到 shell控制台,这时候,你可以输入任何命令来操作该远程的Linux设备。

在Ubuntu系统下,其实也可以通过在线安装的方式安装putty:

#apt-get install putty

就可以进行安装了,安装完成后,通过命令行打开putty

#putty

它看起来和Windows版本一样。

当然,你可以可以使用其他的ssh客户端,比如Linux下,就有ssh的命令,ssh命令就是一个命令形式的ssh客户端。

3)基于ssh的远程文件上传和下载

通过ssh服务,还可以远程上传和下载文件和目录,这里就需要用到scp这个命令:

下载远程设备172.21.84.198上/home/test.txt当本机的当前目录

#scp root@172.21.84.198:/home/test.txt . //下载文件

上传本机文件test.txt到远程设备172.21.84.198上的/home/下

#scp test.txt root@172.21.84.198:/home  //上传文件

下载远程设备172.21.84.198上/home/test目录到本机的当前目录

#scp -r root@172.21.84.198:/home/test .  //下载目录

上传本机目录test到远程设备172.21.84.198上的/home/下

#scp -r test root@172.21.84.198:/home   //上传目录

以上命令中的root表示以root用户登录到远程的设备,命令执行过程中应该会提示输入密码,因为上面命令是指定root登录,所以就输入root密码。

基于ssh的上传和下载,也是一个经常用到的功能,也是非常有用的功能。

另外在介绍FTP客户端时,我们有提到WinSCP工具,该工具也支持通过图形化的基于ssh协议上传和下载文件。

小伙伴们,对于 ssh服务,理解了吗?赶紧动手来试试吧!

展开阅读全文

页面更新:2024-03-08

标签:客户端   命令   常用   密码   版本   上传   操作   目录   工具   设备   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top