ssh 无密码登陆远程服务器

作者: 倚楼 | 来源:发表于2017-01-17 12:59 被阅读203次

    ssh 无密码登陆远程服务器

    1.在客户端创建公钥

    [root@Server1 ~]# ssh-keygen -t rsa 
    

    输入后,会提示创建.ssh/id_rsa、id_rsa.pub的文件,其中第一个为密钥,第二个为公钥。过程中会要求输入密码,为了ssh访问过程无须密码,可以直接回车 。

    [root@Server1 ~]# ls -l .ssh
    总用量 8
    -rw-------. 1 root root 1675 12月 10 22:20 id_rsa
    -rw-r--r--. 1 root root 394 12月 10 22:20 id_rsa.pub
    

    特别要注意的是这2个文件的权限.

    • id_rsa 的权限是 -rw-------
    • id_rsa.pub 的权限是 -rw-r--r--

    2. 将公钥复制到服务器的 ~/.ssh 目录下

    复制客户端 .ssh/id_rsa.pub 文件中的内容,添加到服务器的 ~/.ssh/authorized_keys 文件中, 如果服务器端authorized_keys文件不存在,新建一个即可.

    3. 修改服务sshd配置并重启sshd服务

    修改服务器端的 /etc/ssh/sshd_config 文件, 打开 AuthorizedKeysFile


    使用命令/etc/init.d/sshd restart重启 sshd 服务.

    4. 设置服务器文件和目录权限:

    root:~/.ssh# ll
    total 24K
    drwx------  2 root root 4.0K Jan 13 10:42 ./
    dr-xr-x--- 15 root root 4.0K Jan 16 00:37 ../
    -rw-r--r--  1 root root  408 Jan 13 10:42 authorized_keys
    -rw-------  1 root root 1.7K Aug 13  2015 id_rsa
    -rw-r--r--  1 root root  394 Aug 13  2015 id_rsa.pub
    -rw-r--r--  1 root root  395 Jul  1  2015 known_hosts
    

    特别要注意的一点是 .ssh 目录的权限是 drwx------

    5. 客户端验证使用SSH IP地址的方式无密码访问

    ssh root@192.168.1.3 
    

    如果设置有错误, 则还是会提示输入密码确认. 对于 Centos 可以查看log文件 /var/log/secure , 寻找原因.

    相关文章

      网友评论

        本文标题: ssh 无密码登陆远程服务器

        本文链接:https://www.haomeiwen.com/subject/woymbttx.html