Linux 远程登录服务:ssh
  ·SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。
  ·SSH提供了口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。
  ·不同的是,口令用户验证方式传输的是用户的账户名和密码,这要求输入的密码具有足够的复杂度才能具有更高的安全性。
  ·而基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器。这种方式是相当安全的。
  Linux下搭建ssh服务器
  本人实验平台是Fedora14 2.6.35.6
  一、安装ssh
  ssh软件由两部分组成:ssh服务端和ssh客户端。
  ssh的配置文件在/etc/ssh/目录下,其中服务端的配置文件是sshd_config,客户端的配置文件是ssh_config.
  安装ssh,在这里,只讲述通过yum安装的方法(前提是你的yum源配置正确,并且能使用):
  # yum install openssh-* -y
  //yum会自动安装所有openssh相关的软件包
  二、配置ssh服务器
  根据ssh的两种验证方式,配置两种不能安全级别的登录方式。
  ·通过口令验证方式登录
  1.用vim编辑器打开sshd_config配置文件
  # vim /etc/ssh/sshd_config
  2.对配置文件进行如下修改(根据自身实际情况可有所调整):
  Port 22  //默认使用22端口,也可以自行修改为其他端口,但登录时要打上端口号
  #ListenAddress   //指定提供ssh服务的IP,这里我注释掉。
  PermitRootLogin   //禁止以root远程登录
  PasswordAuthentication  yes  //启用口令验证方式
  PermitEmptyPassword   //禁止使用空密码登录
  LoginGraceTime  1m   //重复验证时间为1分钟
  MaxAuthTimes   3    //最大重试验证次数
  保存修改好的配置,退出。
  3.重启sshd服务
  # service sshd restart
  ·通过密钥对验证方式登录
  1.在客户端生成密钥对
  注:生成密钥对前,需切换相应用户身份。例如:当user1需要登录到服务端时,user1必须在客户端生成自己的密钥文件。其他用户也一样。
  # su - user1
  # ssh-keygen -t rsa    //生成密钥文件
  Generating public/private rsa key pair.
  Enter file in which to save the key (/root/.ssh/id_rsa):   //按回车
  Enter passphrase (empty for no passphrase):   //设置保护私钥文件的密码,即密钥登录时的密码
  Enter same passphrase again:  //再次输入保护私钥文件的密码
  Your identification has been saved in /root/.ssh/id_rsa.
  Your public key has been saved in /root/.ssh/id_rsa.pub.
  The key fingerprint is:
  33:ee:01:7d:c3:74:83:13:ef:67:ee:d7:60:2d:e1:16 root@localhost
  # ll -a .ssh/
  总计 24
  drwxrwxrwx 2 root root 4096 10-08 19:29 .
  drwxr-x--- 21 root root 4096 10-08 19:25
  -rw------- 1 root root 1743 10-08 19:29 id_rsa     //创建的私钥
  -rw-r--r-- 1 root root 396 10-08 19:29 id_rsa.pub  //创建的公钥
  -rw-r--r-- 1 root root 790 2015-11-04 known_hosts
  2.上传公钥文件到服务器或者用U盘拷贝到服务器里
  # scp .ssh/id_rsa.pub user1@192.168.1.100:/home/user1/
  3.在服务器端,将公钥文件添加到相应用户的密钥库里
  # mkdir -p /home/user1/.ssh/       //注意,这里创建的。ssh目录权限必需是除自己外,对其他用户只读,也就是权限位设置为644,所属者与所属者组都是其用户
  # mv /home/user1/id_rsa.pub /home/user1/,ssh/authorized_keys   //由于生成的公钥名称与指定的公钥名称不符,因此需要将生成的文件名换成authorized_keys即可。
  4.修改sshd_config配置文件:
  # vim /etc/ssh/sshd_config
  PasswordAuthentication  no  //禁用口令验证方式,不能把原有的PasswordAuthentication  yes注释掉,注释后,就算没有公钥也能通过口令登录,这样不安全,而且失去了密钥验证的意义。
  RSAAuthentication yes   //启用RSA验证
  PubkeyAuthentication yes  //启用公钥验证
  AuthorizedKeysFile     .ssh/authorized_keys   //启用公钥文件位置,后面的路径是设置公钥存放文件的位置
  保存修改好的配置,退出。
  5.重启sshd服务
  # service sshd restart
  三、登录服务器
  1.Linux客户机
  # ssh 192.168.1.100   //输入服务器IP登录,不加用户名默认以root身份登录
  或者
  # ssh user1@192.168.1.100   //以user1身份登入服务器
  2.windows下使用远程登录客户端登录
  时下最流行的是putty这款登录软件,无需安装,下载下来就可以使用,简单、方便、安全!
  ·当服务器使用口令验证方式时,只需输入用户名和密码即可
  ·当服务器使用密钥验证方式时,需要作以下几步操作:
  1.下载puttygen软件,这个软件用来生成密钥对
  2.打开puttygen,在"生成的密钥类型"栏里点选“SSH-2 RSA”
  3.点击“生成”,软件自动生成密钥
  4.输入密钥密码,点击“保存私钥”。这个私钥是以后作为putty登录所必需加载的密钥信息,慎防丢失
  5.复制公钥信息,在windows下新建记事本进行保存
  6.将保存有公钥信息的记事本文件上传到服务器上,再用vim检查里面的信息是否都排成一行(注意,里面的公钥信息必需是一行,信息必需完整)
  7.将其文件命名为authorized_keys,并拷贝到相应用户家目录下的。ssh/目录里
 

Linux搭建SSH服务器的更多相关文章

  1. Linux 搭建SVN 服务器(转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  2. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  3. 使用Linux搭建FTP服务器实现文件共享

    使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...

  4. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  5. 原 Linux搭建SVN 服务器

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  6. Linux搭建SVN 服务器

    Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3  ...

  7. Linux搭建SVN 服务器(转)

    转自:http://my.oschina.net/lionel45/blog/298305 Linux搭建SVN 服务器 作者: 沈小然    日期:2014年 8月 5日 1          安装 ...

  8. Linux搭建SVN服务器(服务端)

    Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...

  9. Linux搭建DHCP服务器

    Linux搭建DHCP服务器   实验目标: 通过本实验掌握基于Linux的DHCP服务器搭建技能. 本实验包含内容为yum的认识与使用,磁盘挂载的概念与使用,DHCP原理及配置,systemctl服 ...

随机推荐

  1. oracle自动执行一个sql文件的脚本

    如图 文件夹 打开文件夹,如图 autoExeSyn-local.bat文件里的内容如下 @echo off -----------用户/密码-实例-------------执行的sql文件---&g ...

  2. chart控件怎么使x轴标签全部显示出来

    在vs2012中使用chart控件事,x轴的标签过多,致使默认只能显示其中的一部分,如图 当然,我们可以通过设置,使得x轴标签全部显示. 首先,通过chart控件属性,找到   “ChartAreas ...

  3. 转:ndk-stack打印崩溃堆栈

            接下来详细说明ndk-stack的使用方法.         第一步:首先获得发生崩溃的共享库.                 如果你是利用ndk-build应用的话,共享库会在$P ...

  4. The Shortest Path in Nya Graph

    Problem Description This is a very easy problem, your task is just calculate el camino mas corto en ...

  5. oracle 对象上锁,不能插入或删除情况

    ora-00054:resource busy and acquire with nowait specified解决方法 当某个数据库用户在数据库中插入.更新.删除一个表的数据,或者增加一个表的主键 ...

  6. POJ-3468 A Simple Problem with Integers Splay Tree区间练习

    题目链接:http://poj.org/problem?id=3468 以前用线段树做过,现在用Splay Tree A了,向HH.kuangbin.cxlove大牛学习了各种Splay各种操作,,, ...

  7. position与anchorPoint

    相信初接触到CALayer的人都会遇到以下几个问题: 为什么修改anchorPoint会移动layer的位置?CALayer的position点是哪一点呢?anchorPoint与position有什 ...

  8. 用document.title=“xxx”动态修改title,在ios的微信下面不生效

    单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制title,只能在页面刷新的时候通过js修改title.常规做法如下,可惜在iO ...

  9. tomcat安全配置之证书密码加密存储

    最近项目组要完成一个新Web Servicer接口的开发,其中有项要求是支持外部客户程序以https方式访问这些SOAP接口.项目组当前基于tomcat6.0.29开发,axis版本为1.4.拿到这个 ...

  10. Android框架浅析之锁屏(Keyguard)机制原理

    最近终于成功的摆脱了FM收音机,迈向了新的模块:锁屏.状态栏.Launcher---姑且称之为“IDLE”小组,或许叫手机 美容小组,要是能施展下周星星同学的还我漂漂拳,岂不快哉. OK,闲话打住,咱 ...