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服务器的更多相关文章
- Linux 搭建SVN 服务器(转)
一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...
- Linux 搭建SVN 服务器
一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...
- 使用Linux搭建FTP服务器实现文件共享
使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...
- 原 Linux搭建SVN 服务器2
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
- 原 Linux搭建SVN 服务器
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
- Linux搭建SVN 服务器
Linux搭建SVN 服务器 1 安装SVN 2 使用客户端连接 2.1 使用windows的客户端 2.2 使用Linux下的命令行 3 ...
- Linux搭建SVN 服务器(转)
转自:http://my.oschina.net/lionel45/blog/298305 Linux搭建SVN 服务器 作者: 沈小然 日期:2014年 8月 5日 1 安装 ...
- Linux搭建SVN服务器(服务端)
Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...
- Linux搭建DHCP服务器
Linux搭建DHCP服务器 实验目标: 通过本实验掌握基于Linux的DHCP服务器搭建技能. 本实验包含内容为yum的认识与使用,磁盘挂载的概念与使用,DHCP原理及配置,systemctl服 ...
随机推荐
- [转]ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)
有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你创建action过滤器.Action过滤器是自定义的Attributes,用来标记添 ...
- [转]NHibernate之旅(12):初探延迟加载机制
本节内容 引入 延迟加载 实例分析 1.一对多关系实例 2.多对多关系实例 结语 引入 通过前面文章的分析,我们知道了如何使用NHibernate,比如CRUD操作.事务.一对多.多对多映射等问题,这 ...
- oracle dblink使用
一.dblink介绍 dblink是一个单向的数据库连接,通过设置可以访问其他数据库中的数据跟使用本地数据库中数据一样的感觉,但注意是单向的dblink.例如:A建连B的dblink,A可以访问B的表 ...
- codeforces Round #347 (Div. 2) C - International Olympiad
思路:从后往前一位一位的模拟,每次判断一下当前枚举的数是否之间枚举过了.或者当前枚举数过小,小于1989. #include<cstdio> #include<cstring> ...
- Esper系列(十二)Variables and Constants
功能:变量和常量的定义及应用. EPL配置创建 1 "); 3 // 创建 orderBean 事件类型变量 bean 4 epAdmin.createEPL("creat ...
- HDOJ-ACM1061(JAVA) Rightmost Digit
题意:求n的n次方的个位数(1<=N<=1,000,000,000) 第一个最愚蠢的办法就是暴力破解,没什么意义,当然,还是实现来玩玩. 以下是JAVA暴力破解: import java. ...
- Java和.NET的GZIP压缩功能对比
本文主要比较了Java和.NET提供的GZIP压缩功能. 介绍 在本文中,我们将讨论Java和.NET提供的GZIP压缩功能,并且用实例来说明哪个压缩方法更佳. 在Java中,我们有提供GZIP压缩的 ...
- Redis在PHP中的基本使用案例
下载http://www.oschina.net/p/redis 解压后里面有:lib 源文件 .examples 例子.test测试 将lib目录拷贝到你的项目中,就可以开始你的predis操作了. ...
- PC-红警联机问题与下载
或许不是软件问题: 你做好相关设置了吗? 红警局域网联机的具体方法: 适用于原版红警.尤里复仇,及任何同样的扩展版. 第一步:安装IPX协议. 方法: 控制面板——网络连接(或网上邻居·属性)——本地 ...
- LLVM在静态分析上的增强 @ WWDC 2013
在代码还没有真正跑起来的时候,可以利用Clang对代码进行静态分析. 1. 可以应用快捷键Shift+Command+B对项目代码进行分析: 2. 也可以针对某个文件进行分析(现有版本貌似不能针对特定 ...