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
其它系统类似。

 

CentOS设置SSH Key登录

SSH是我们登录VPS常用的方式,因此SSH账号的安全至关重要。常见的用户名+密码的登录方式很容易受到暴力破解的影响,为了避免影响,我们可以直接禁止用户名+密码登录VPS的方式,改用密钥登录,既保证了...
  • keneuro
  • keneuro
  • 2015年08月17日 14:44
  • 6469

ssh密钥登录(两种方法)

方法一: 使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。 ssh-keygen 创建公钥和密钥。 ssh-...
  • bravezhe
  • bravezhe
  • 2012年02月28日 16:35
  • 58137

使用RSA Key代替密码进行ssh远程登录

使用RSAKey替代密码进行ssh远程登录

ssh-keygen 的 详解

为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作。 模型分析 假设 A (192.168.20.59)为客户机器,B(192.168.20...

sql2005管道的另一端上无任何进程”及附带一系列问题完整解决方法

问题一:已成功与服务器建立连接,但是在登录过程中发生错误。   (provider:   共享内存提供程序,   error:   0   -   管道的另一端上无任何进程。 用wi...

深信服SSLVPN 第三方 IPSecVPN 使用Strongswan连接阿里云VPC配置

深信服SSLVPN 提供了 IPSevVPN服务,可以很方便的和第三方设备互通 简历安全内网,此例连接阿里云单台ECS 服务器,也适用于 VPC 场景; 客户端使用 Stronswan 安装比较简单,...
  • tao2581
  • tao2581
  • 2017年03月28日 13:51
  • 1620

SSH实现登录验证

  • 2014年07月01日 18:21
  • 8.47MB
  • 下载

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

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

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

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

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

可以显示三种不同类型的验证码而不是单独一种,显示效果如下图所示: * 第一种:简单验证码,4位随机数字 : * 第二种:英文字符加数字的验证码 : * 第三种:像铁路订票系统一样的验证码...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ssh key登录验证的实现
举报原因:
原因补充:

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