xshell设置只能密钥登录,禁用密码登录 完整版-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 854428
  • 博文数量: 179
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1546
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-27 11:05
个人简介

mysql工程师 qq:1815357042

文章分类

全部博文(179)

文章存档

2015年(179)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2015-03-10 16:39:46

作为一名运维人员,我们首先要保证服务器的安全。而用户登录系统有两种方式,密码和密钥,毫无疑问,使用密钥登录更安全一些。
下面设置root用户只能使用密钥登录,不能使用密码登录。

 

测试工具:rhel6.6,xshell

 

步骤一:生成密钥

打开xshell,在菜单栏中点击tools按钮,选择new user key wizard。


 

可看到密钥生成界面,选择rsa加密算法,密钥长度这里设置成2048。

 

 

密钥已经生成,选择next。

 

输入密钥名称,以及密钥加密的密码,继续下一步。

 

现在就可以看到公钥信息了,将公钥复制保存下来。

 

步骤二:上传公钥

1> 在root目录下创建隐藏目录.ssh,并在此目录下创建authorized_key文件,并将事先生成的公钥粘贴到authorized_keys文件中。

  mkdir  ~/.ssh

  vim ~/.ssh/authorized_keys

 

2>修改权限

  chmod 600 ~/.ssh/authorized_keys

  chmod 700 .ssh/

 

3>不需要清空防火墙规则关闭selinux

 

  修改/etc/selinux/config配置文件中selinux=disabled

 

4>修改sshd配置文件,去掉#注释,使其支持密钥认证。

 rsaauthentication yes

 pubkeyauthentication yes

 port 22

 

5>重启sshd服务使生效

    /etc/init.d/sshd restart

 

步骤三:配置xshell使用密钥登录

填写name和host,然后点击authentication。

 

method选择public key,username填写root,user key选择先前生成的密钥,并在passphrase栏内填入给密钥加密的密码。

 

选择密钥文件

 

步骤四:测试是否可用设置的公钥密码登录


可以看到可以使用root用户密码登录,也可用public key登录,先测试下能否用public key登录,能登录则进行步骤五。

 

 

 

 

步骤五:配置禁用root密码登录


注意:上一步骤测试成功后,可进行此步骤。

1>  找到/etc/ssh/sshd_config文件中passwordauthentication 和permitrootlogin,将其修改为        

permitrootlogin  no    ##禁止root登录
 passwordauthentication  no   ##不能用密码登录方式,只能用密钥方式

 2> 重启sshd服务

  /etc/init.d/sshd restart

 

可看到只能使用public key登录的选项。

 

 

通过上述设置,即使别人获取了root密码也不可以登录用别的用户的密码也不能登录,没有公钥也是无法登录的,切记保管好公钥文件。
没有公钥文件,这台服务器就要重装了!!!根本无办法远程连接上去,没有公钥文件!!!!这样便进一步保正了服务器的安全。

红色的配置项需要注意,服务器的端口最好用别的端口不要用22端口,可以考虑改一下 port 22 这个配置项为别的端口号,最好不要用默认的22端口




补充
ssh-clients一般用minimal安装方式的时候已经安装了,当然如果真的没有的话就需要安装
1\先在a机器上安装ssh-clients
        yum install –y  openssh-clients
centos6.6的镜像
[root@steven ~]# ssh -v
openssh_5.3p1, openssl 1.0.1e-fips 11 feb 2013

第二个问题

改了端口之后需要加端口号
ssh root@192.168.1.40 -p 2222



a、b两台linux用密钥互相访问
     1\先在a机器上安装ssh-clients
        yum install –y  openssh-clients(查看ssh版本 ssh -v)
    2\运行ssh-keygen 命令产生公钥和私钥(可以不输入密码)
    3\用cat  /root/.ssh/id_ras.pub 将查询出的公钥复制备用
    4\连接到b机的的终端,
         创建.ssh目录mkdir /root/.ssh
         修改权限为700  chmord 700 
         编辑/root/.ssh/authorized_keys 文件    vi /root/.ssh/authorized_keys
         刚才在a机上复制的公钥粘贴到authorized_keys中,
    5\修改authorized_keys的权限为600    chmod  600  /root/.ssh/authorized_keys
    6\暂停b机的selinux     setenforce 0          getenforce disabled
    7\禁用selinux的启动    vi /etc/selinux/config   将其中的 selinux=enforcing 改为 selinux=disabled保存退出。退出b终端
    8\在a终端上运行 ssh  b机的ip      此时就可以用密钥登录b机
    9\在b机上重复1-8步就可以实现互相用密钥登录


阅读(12461) | 评论(0) | 转发(0) |
0

上一篇:

下一篇:

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图