设为首页 收藏本站
查看: 1819|回复: 0

[经验分享] Linux学习之CentOS(十四)

[复制链接]

尚未签到

发表于 2018-4-22 07:37:52 | 显示全部楼层 |阅读模式
  早在学习Linux之前,就有听说过ssh这个词了,当时因为学了j2ee的三大框架,所以当听到ssh时,我立马想到的是struts + spring + hibernate,当时也在想这不是java的东西么?怎么跟Linux扯上关系了???后面在百度一下ssh以后,才发现此ssh并非咱们常说的那三大框架的总称,而是一种安全协议,Secure Shell的缩写。。。看来自己的墨水还是太少了。。。还有太多东西要去学习啊。。。。
  SSH(Secure Shell的缩写),由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。咱们传统的远程网络服务如ftp、telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。当如果出现第三方假冒服务器来接收到咱们发送过去的明文数据时,此时可能就会发生严重问题。但是如果通过使用SSH,你可以把所有传输的数据进行加密,这样恶意用户的这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP甚至为PPP提供一个安全的"通道"。
  ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1。目前实现SSH1和SSH2协议的主要软件有OpenSSH和SSH Communications Security Corporation 公司的SSH Communications 软件。前者是OpenBSD组织开发的一款免费的SSH软件,后者是商业软件,因此在linux、FreeBSD、OpenBSD、NetBSD等免费类UNIX系统种,通畅都使用OpenSSH作为SSH协议的实现软件。
  咱们现在安装的Linux版本,都会装有SSH,默认就是OpenSSH,可以通过 ssh -V 命令来查看安装的ssh版本信息:
[root@xiaoluo xiaoluo]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010  从上述信息可以看到,我这台安装在虚拟机上的CentOS6.4默认安装的SSH其协议是1.0的。
  那么我们有了SSH,我们可以做什么呢?为什么说Linux程序员必须要学会使用SSH呢?
  在没有SSH之前,咱们如果想要在Linux和Windows操作系统上实现文件的共享,无非是通过挂载光驱到Linux系统上,或者是通过安装Samba服务器(Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置)来进行文件的共享,如果要实现文件的上传下载,那就还要安装FTP才行,这样做起来就非常的麻烦。比如说我Linux系统是远端的一个服务器,咱们这边有许多的程序员在编程完以后需要将文件都上传到Linux系统上,但是我又不能让每个用户都实际的登陆到远端的Linux服务器上,这时我们怎么办呢?那就通过使用咱们的ssh就可以解决问题,ssh类似于咱们windows操作系统上的telnet程序,可以远程登录到远端的服务器,在通过ssh登陆到了远端的Linux服务器以后,咱们就相当于实际登陆了Linux系统一样,可以对其进行操作,同时文件上传、下载、这些都可以非常轻松的搞定,可以说,在学习SSH之前,Ftp、Samba这些咱们是要必须掌握的,但是在学习了SSH以后,这些服务器都是浮云了。。。。。。。
  咱们Linux系统在安装时都会安装好了ssh服务器,刚才我们通过了 ssh -V 这个命令可以查看到我们系统上安装的ssh服务器版本信息,所以我们不需要再安装ssh服务端了,在Linux系统中,ssh服务器的服务名称是 sshd ,我们可以通过 chkconfig --list | grep sshd 命令来查看一下sshd服务的开机启动情况
[root@xiaoluo xiaoluo]# chkconfig --list | grep sshd
sshd               0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭  默认情况下,Linux系统在启动时,sshd服务就会启动,咱们不需要去改变它。因为ssh也是一种网络服务,所以其必然也绑定了一个端口号,在Linux系统中,ssh服务绑定的端口号是 21 ,咱们可以通过 netstat -anp | grep sshd 命令来查看sshd服务绑定的端口号是多少:
[root@xiaoluo xiaoluo]# netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2140/sshd  因为Linux上安装的是ssh服务端,所以咱们如果希望通过远程访问的方式登录到这台服务器上,比如我要在windows系统上远程登录到ssh上,咱们就得在windows上安装一个ssh客户端,现在的ssh客户端软件都非常多,大家可以选择一个下载,例如有:
  Absolute Telnet (http://www.celestialsoftware.net/)
  putty (http://www.putty.org/)
  Xshell4 (http://www.netsarang.com/products/xsh_overview.html)
  这里我使用的是Absolute Telnet这个ssh客户端。
  注意在使用ssh登陆到远程的Linux系统上时,首先必须要保证该主机要能够与Linux系统之间能互相 ping 通,否则ssh是无法建立远程连接的
  打开我们的Absolute Telnet客户端,进入到了主界面
DSC0000.jpg

  在界面敲入回车键或者,选择 文件 -> 连接 就可以弹出连接框
DSC0001.jpg

  在这个框里我们可以设置这次远程访问的一些属性,比如背景色、字符编码、字体等,点击  连接  选项就可以进入到连接信息填入界面
DSC0002.jpg

  在这里我们要输入我们需要远程登录的Linux系统的ip地址(通过ifconfig 命令就可以查看),然后点击确定
DSC0003.jpg

  在这个界面我们选择登录的方式,这里选择使用密码登陆,然后填入我们想要登陆到远程Linux上的用户名和密码(注意:如果是第一次以该用户登录,则会提示生成一个密钥,咱们点击确定即可)
DSC0004.jpg

  这时我们发现我们已经通过root账号登陆到了远程的Linux系统上,这里的操作完全和在Linux系统上的终端操作一模一样。我们这时可以通过 top 命令来查看此时登陆到该Linux系统上的用户:
DSC0005.jpg

  我们发现已经登录了三个用户(因为我的虚拟机上的Linux系统上登陆了xiaoluo和root用户了,所以刚通过ssh再次登录root账号就是第三个用户)
  我们此时当然可以通过再次运行 Absolute Telnet客户端再次登录一个用户,为什么Linux系统是多用户的操作系统呢?就是体现在这上面,在Linux上我们可以登陆多个用户对其系统进行访问。
  文件上传、下载以及文件的共享????在ssh上就更方便了
DSC0006.jpg

  咱们点击那个SFTP按钮,然后进入到了文件上传的界面(注意:我用的这个Absolute Telnet的客户端软件,如果要进行文件上传,那么建立连接时必须要以root账户登陆,否则在上传文件时会提示权限不足)
DSC0007.jpg

  没错,左边就是你的Windows操作系统目录结构,右边就是你的Linux操作系统目录结构,想要从Windows上上传文件到Linux上?或者从Linux上上传东西到Windows上?so easy。。。直接选择文件然后拖拽过去即可!!!!!此时我们进入到对应的目录,文件已然在目录下了。。。。。。所以说,为什么每一个Linux程序员都得学会ssh。。。。有了ssh,samba那些服务器都是浮云,都可以抛弃了。。。。。。。。。。。
  今天终于领悟到了ssh所带来的好处了!!!!!!!!!!!!!!!!!!!
  这篇随笔主要记录了对ssh的一些初步认识,在以后的Linux学习中将继续记录自己的学习心得!!!
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-450210-1-1.html 上篇帖子: Linux学习之CentOS(十三) 下篇帖子: Linux学习之CentOS(二十)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表