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
  • 7507

ssh密钥登录(两种方法)

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

用key方式登录ssh

如果你打算在windows下访问另外一台装有Linux的机子(系统管理员对公司服务器管理或个人站长对vps的管理……),那么推荐使用putty (当然你的linux必须已经安装了ssh服务器才行。) ...
  • cstopery
  • cstopery
  • 2016年11月07日 16:05
  • 2003

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

使用RSAKey替代密码进行ssh远程登录
  • hawkdowen
  • hawkdowen
  • 2014年08月16日 10:32
  • 5699

linux生成ssh key方法与使用,无密码登录机器

服务器A: 192.168.1.1 服务器B: 192.168.1.2   服务器A: 配置: ssh-keygen -b 2048 -t rsa                     #这里的...
  • will5451
  • will5451
  • 2016年11月17日 20:46
  • 3277

ssh整合---简单的登录判断例子

ssh整合---简单的登录判断例子 struts和spring之间的整合 1.新建一个Web Project   引入spring3.1   引入struts2.1,注意:在Configure Pro...
  • ZZ2713634772
  • ZZ2713634772
  • 2016年07月04日 18:57
  • 860

ssh save方法判断是否成功

ssh 判断save方法是否存储对象成功,目前我知道的方法是try   catch   但是try  catch无法捕捉到dao层和service层。具体原因还未搞清楚 但,判断是否成功可以在ac...
  • zj420964597
  • zj420964597
  • 2017年10月09日 18:49
  • 144

SSH实现登录验证

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

Xshell创建密钥利用Key进行Linux系统的SSH认证

用Xshell 中的Key management 工具创建密钥,也可以在Linux操作系统中建立Publish Key、Private Key 两密钥 Xshell 创建密钥方法, Putty及CR...
  • d27liu
  • d27liu
  • 2016年11月25日 10:55
  • 2257

SSH Key的生成和使用

SSH key生成及其使用 一、检查是否已经存在ssh key 通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id...
  • yy243
  • yy243
  • 2016年11月20日 20:02
  • 38004
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ssh key登录验证的实现
举报原因:
原因补充:

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