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. SQL Server查询性能优化——覆盖索引(二)

    在SQL Server 查询性能优化——覆盖索引(一)中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索引等 ...

  2. Linux设备驱动编程中的中断与定时器处理

    所谓中断是指CPU在执行过程中,出现某些突发时间急待处理,CPU必须暂停执行当前的程序,转去处理突发事件,处理完毕后CPU又返回原程序被中断的位置并继续执行. 中断分为(根据中断源来分):  内部中断 ...

  3. 通过js获取计算机内网ip,计算机名,mac地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  4. 【原创】MapReduce计数器

    MapReduce框架内置了一些计数器的支持,当然,我们也可以设置自己的计数器用来满足一些特殊的要求. 其实计数器可以用来完成很多事,关键要看你如何用,例如你想知道map输入数据的指定记录特定的信息有 ...

  5. HW3.17

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  6. POJ1276 - Cash Machine(多重背包)

    题目大意 给定一个容量为M的背包以及n种物品,每种物品有一个体积和数量,要求你用这些物品尽量的装满背包 题解 就是多重背包~~~~用二进制优化了一下,就是把每种物品的数量cnt拆成由几个数组成,1,2 ...

  7. nyoj 27 水池数目

    水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...

  8. 8-15-Exercise

    8-15-小练 这次的题目......只觉得泪奔啊......T T A.HDU 1042   N! 因为0<=n<=1000,故一定要用数组或字符串[同样因为n<=1000故用数组 ...

  9. hibernate三级缓存介绍

    hibernate缓存机制:分为三种:1.一级缓存(session级别缓存,同一session中不会重复发出sql,默认会实现)2.二级缓存(跨session的缓存,不同session会从同一缓存中取 ...

  10. js基础一

    1.声明提升:变量的声明提升,函数的声明提升,但函数赋值表达式不会提升: foo(); // 正常运行,因为foo在代码运行前已经被创建 function foo() {} foo(); // 出错: ...