ssh key登录验证的实现

转载 2013年12月04日 14:47:29

一:简洁的配置文件
[root@cisco ~]# vi /etc/ssh/sshd_config

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 600
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile       .ssh/authorized_keys
RhostsAuthentication no
IgnoreRhosts yes
HostbasedAuthentication no
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
MaxStartups 20
Subsystem        sftp  /usr/libexec/openssh/sftp-server
~

二、使用公钥认证
1、原理:首先由用户生成一对密钥,然后将公钥保存在SSH服务器用户的目录下.ssh子目录中的authorized_key文件里(/root/.ssh/authorized_key).私钥保存在本地计算机.当用户登陆时,服务器检查authorized_key文件的公钥是否与用户的私钥对应,如果相符则允许登入,否则拒绝.由于私钥只有保存在用户的本地计算机中,因此入侵者就算得到用户口令,也不能登陆到服务器.
2、启用公钥认证
修改配置文件/etc/ssh/sshd_config  
将"PasswordAuthentication yes"修改为"PasswordAuthentication  no" ,并重启sshd: /etc/init.d/sshd reload
3、生成密钥
[root@rain ~]# 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:
4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53  root@rain.fish.com
4、在服务器端将/root/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys
mv  /root/.ssh/id_rsa.pub  /root/.ssh/authorized_keys
5、将私钥 /root/.ssh/id_rsa拷贝到客户机
linux下可以拷贝到/root/.ssh/就可以直接使用了。
6、到客户端登陆服务器看看

# ssh 192.168.1.107

直接enter就可以登录了。


三、SSH服务的配置
1、配置SSH服务的运行参数,是通过修改配置文件/etc/ssh/sshd_config实现的。
2、因为SSH服务使用默认的配置已经能够很好的工作,如果仅仅提供SSH服务不需要修改。这里只介绍一
些常用的选项。
#Port  22
定义了SSH服务监听的断口号,SSH服务默认使用的端口号是22
#Proctocol  2,1
定义了SSH服务器使用SSH协议的顺序。默认识先使用SSH2协议,如果不成功则使用SSH1协议,为了安全起
见,可以设置只使用SSH2协议。
#ListenAddress  0.0.0.0
定义SSH服务器帮定的IP地址,默认绑定服务器所有可用的IP地址.
#PermitRootLogin  yes
定义是否允许管理员登陆
#PermitEmptyPasswords  no
定义是否允许空密码登陆.

#PasswordAuthentication  no
定义是否使用口令认证方式,如果准备使用公钥认证可以设置为no

设置完成后要重启服务,不然大多数系统都不会直接生效。重启服务方式:

CentOS:/etc/init.d/sshd restart
其它系统类似。

 

相关文章推荐

ssh普通用户(非root用户)的密钥登录

ssh普通用户(非root用户)的密钥登录 这里以用户名 zhangsan 为例。 由于个人习惯问题,我把用户zhangsan的默认目录改了,在使用密钥登录的过程中,始终提示要输入用户密码,而 /va...
  • jom_ch
  • jom_ch
  • 2013-07-09 21:44
  • 10251

SSH Key的生成和使用

SSH key生成及其使用 一、检查是否已经存在ssh key 通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id...
  • yy243
  • yy243
  • 2016-11-20 20:02
  • 19092

SSH实现登录验证

  • 2014-07-01 18:21
  • 8.47MB
  • 下载

基于SSH2框架Struts2拦截器的登录验证实现

通过之前的Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解系列文章,我们已经成功将这三种框架整合到了一起,这次大象将在此基础上用一个小实例来说明,怎么利用St...

基于struts2+hibernate+spring(ssh2)的登录验证码的实现

可以显示三种不同类型的验证码而不是单独一种,显示效果如下图所示: * 第一种:简单验证码,4位随机数字 : * 第二种:英文字符加数字的验证码 : * 第三种:像铁路订票系统一样的验证码...

基于SSH2框架Struts2拦截器的登录验证实现

通过之前的Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解系列文章,我们已经成功将这三种框架整合到了一起,这次大象将在此基础上用一个小实例来说明,怎么利用St...

使用SSH框架实现用户登录验证

今天,写一个非常简单的通过struts+hibernate+spring的集成来实现用户登录验证的例子,让大家了解一下三者是如何是整合的。          我们可以通过myeclipse的向导...

SSH登录验证码

  • 2012-07-12 09:34
  • 19.29MB
  • 下载

为CentOS配置SSH证书登录验证

最近查看服务器日志发现有N多IP在扫描我的CentOS服务器密码,这个很讨厌,于是开始为CentOS配置SSH证书登录验证,杜绝此类扫描。 准备:开启2个putty,以防没配置完,一高兴顺手重启了s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)