Linux安全攻略之SSH服务连接时的常见问题与解答

   什么是SSH呢?

  SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额 外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一 个安全的"通道"。SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。最初SSH是由芬兰的一家公司开发的。但是因为受 版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不 是SSH。SSH是由客户端和服务端的软件组成的。SSH安装容易、使用简单,而且比较常见,一般的Unix系统、Linux系统、FreeBSD系统都 附带有支持SSH的应用程序包。

  SSH的安全验证是如何工作的?

  从客户端来看,SSH提供两种级别的安全验证。

  第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种方式的攻击。

  第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把 公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先 在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密"质询" (challenge)并把它发送给客户端软件。客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。

  用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。

  第二种级别不仅加密所有传送的数据,而且"中间人"这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。

  命令的格式

  首先、确保server端的ssh服务是开的(service shhd start)

  然后在client端输入:ssh usrname@serverip (远程登录)

  scp filename usrname@serverip:/URL (远程传输)

  常出现的问题:

  问题一

  ssh登录的时候链接端口失败

  提示(1):

  # ssh 172.16.81.221

  ssh: connect to host 172.16.81.221 port 22: No route to host

  这由于server端没有开机或是网络不通(这个原因很多,最简单的是网线没有插。还有就是可能会是网卡down了等)

  提示(2):

  # ssh work@172.16.81.221

  ssh: connect to host 172.16.81.221 port 22: Connection refused

  这是由于对方server的ssh服务没有开。这个server端开启服务即可。

  问题二、

  ssh到server上的时候密码是对的但是报如下信息:

  # ssh 172.16.81.221

  root@172.16.81.221's password:

  Permission denied, please try again.

  这个是由于如果不输入用户名的时候默认的是root用户,但是安全期间ssh服务默认没有开root用户的ssh权限

  解决方法:

  要修改root的ssh权限,即修改/etc/ssh/sshd_config文件中

  PermitRootLogin no 改为PermitRootLogin yes

  问题三

  登录是出现如下提示:

  ssh root@172.16.81.221

  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@

  @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@

  IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

  Someone could be eavesdropping on you right now (man-in-the-middle attack)!

  It is also possible that the RSA host key has just been changed.

  The fingerprint for the RSA key sent by the remote host is

  76:fb:b3:70:14:48:19:d6:29:f9:ba:42:46:be:fb:77.

  Please contact your system administrator.

  Add correct host key in /home/fante/.ssh/known_hosts to get rid of this

  message.

  Offending key in /home/fante/.ssh/known_hosts:68

  RSA host key for 172.16.81.221 has changed and you have requested strict checking.

  Host key verification failed.

  server端密码或是其他发生改变的时候。解决方法一般就需要删除~/.ssh/known_hosts的对应行,然后再登录即可。

时间: 2024-10-29 22:17:30

Linux安全攻略之SSH服务连接时的常见问题与解答的相关文章

思维导图学 Linux Shell攻略之干货篇 mysql数据库脚本管理系统

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1610653 以结果为导向的学习,才是最有效率学习.笔者以前也曾经隔三差五的学习linux shell编程来着.给我的感觉就是,今天学了,后天忘了,一星期之后就白学了. 还好,最近自己平时没啥事,一直照着<linux shell攻略>,学做一些小例子,看着自己写的shell程序,简单的几行程序,实现一些好玩的效果,信心

Linux网卡攻略

Linux系统下的网卡不像Windows那么支持完善,有时需要自己动手,本文总结了相关的驱动安装.命令行工具和测试网卡的负载等内容. 网卡驱动 http://downloadcenter.intel.com/ 安装包中README有详细说明,主要就是如下几个命令 Make install modprobe e1000e 或者 insmod e1000 rmmod e1000e; modprobe e1000e 网卡配置文件 对于网卡信息的配置通常包括:配置IP地址.子网掩码和网关.网卡信息保存在

linux中利用ControlPersist提升SSH的连接速度

背景介绍: 目前,项目中服务器的配置管理已经全部从Puppet迁移到了Ansible,而之前一直认为不会带来困扰的SSH通道慢的问题则暴露的很明显了. 因为很多时候需要同时更新几百台服务器,有不少服务器与Ansible主机还不在同一个IDC机房. 无意间发现了一篇文章,提到开启SSH的ControlMaster并持久化socket连接,可以加速Ansible的执行速度,不需要在每次都经历SSH认证,单个服务器可能节约的时间仅在1秒左右,而上百台的服务器就能节省约1分钟左右的时间. 但开启这个功能

思维导图学 Linux Shell攻略之小试牛刀篇

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1607563 曾听一位大神讲过,带着目的去学,知识往往能记得牢,记得稳.借助思维导图这个工具,对一些我感兴趣的知识点进行分类管理.以后方便自己复习. 我会以思维导图+代码段的方式,回滚学习linux shell编程. 转义/色彩 与用户交互的接口 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1

zt:Linux系统攻略 用UUID在Fstab中挂载分区

http://www.linuxeden.com/html/sysadmin/20071018/36313.html Fstab 文件大家都很熟悉,Linux 在启动的时候通过 fstab 中的信息挂载各个分区,一个典型的分区条目就像这样: /dev/sdb5 /mnt/usb vfat utf8,umask=0 0 0 /dev/sda4 为需要挂载的分区,sda4 是 Linux 检测硬盘时按顺序给分区的命名,一般来讲,这个名称并不会变化,但是如果你有多块硬盘,硬盘在电脑中的顺序变化的时候,

&lt;linux shell 攻略&gt; 庖丁解牛 mysql数据库脚本管理系统

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1610703 操作界面 这个小系统一共包含4个脚本 sh 功能 备注 oneKey.sh 主程序,调用其他程序,对外提供功能 menu.sh 勾画菜单 function.sh 提供操作数据库接口 valid.sh 操作mysql数据库,验证数据 menu.sh  画字符菜单 1 2 3 4 5 6 7 8 9 10 11

SSH远程连接时环境变量问题

1. 问题 RHEL服务器A有个启动脚本(普通用户user01运行),里面使用ifconfig获取ip地址如下: Localhost_ip=$(ifconfig |awk -F 'addr:|Bcast' '/Bcast/{print $2}') 由于普通用户user01不能直接识别ifconfig命令,只能使用全路径/sbin/ifconfig,目前处理方式为修改~/.bash_profile文件添加环境变量如下: PATH=$PATH:$HOME/bin 改成如下: PATH=$PATH:$

《树莓派渗透测试实战》——2.7 设置SSH服务

2.7 设置SSH服务 Secure Shell(SSH)可以做到身处远程,也能完整地操作树莓派上的Kali Linux.命令行是管理Linux的最常用方式.由于大部分的渗透测试并不需要用到图形界面的Kali Linux,建议尽量使用SSH或其他命令行工具.部分Kali Linux默认就启用了SSH服务,但有部分还需要手工安装OpenSSH服务. 首先需要确认SSH服务是否已经安装.输入以下命令service --status- all检查SSH服务是否在运行.如果像图2-14所示的那样看到ss

网页状态栏特效全攻略

攻略|特效|网页 在上网时我们注意往往是网站页面内容,而状态栏不会被人太多注意,如果我们给页面的状态栏加一些特效,肯定会使你的网站增添一道风景,下面就给大家介绍7种常见的状态栏特效的Javascript代码. 特效一:滚动显示 第一步:把如下代码加入<head>区域中 <script language="Javascript"><!--function scrollit(seed) {var m1 = "HI:你 好! ";var m2