zoukankan      html  css  js  c++  java
  • Xshell6配置ssh免密码登录虚拟机

    首先先说明一下有密码的,涉及到root登陆权限的问题:

    1、用超级管理员身份登录,修改 vi  /etc/ssh/sshd_config,

       

       找到

         

    把其中的permitRootLogin 修改成:

       # Authentication:
       LoginGraceTime 120
       PermitRootLogin yes
       StrictModes yes

    这个语句就控制着Xshell是否可以用root连接

    接着说一下Xshell如何无密连接虚拟机:

    ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux的方法。
    使用密钥登录分为3步:
    1、生成密钥(公钥与私钥);
    2、放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中;
    3、配置ssh客户端使用密钥登录。

    一、生成密钥公钥(Public key)与私钥(Private Key)

    打开xshell中的工具下的新建用户密钥生成导向

    在“密钥类型”项选择“RSA”公钥加密算法,“密钥长度”选择为“2048”位密钥长度

    保存在桌面

    之后完成即可

    二、放置公钥(Public Key)到服务器

    使用Xftp将文件发送到虚拟机(没有此工具的可以参考前面的博客):

     

     然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:

    三、配置ssh客户端使用密钥登录。

    打开xshell,填写主机地址,选择22端口

     方法选择public key,用户名一般为root,选择用户密钥,填写刚才设置的密码

     最后,就可以用Xshell无密远程连接虚拟机了

    注意:在最后一步遇到了一些问题,开始用Xshell连接显示没有在远程主机上注册,最后在/etc/ssh/sshd_config里面发现AuthorizedKeysFile      .ssh/authorized_keys​​,这条语句前需要加上/home,否则找不到证书,这是绝对路径可以理解,但是为什么有的人不加也可以远程登陆呢?

    答案:root用户的家目录是root,普通用户的家目录是home,我需要远程连接root用户,应该把.ssh文件放在root目录下,而不是home目录下,这样就可以找到密钥证书了!

  • 相关阅读:
    随感3D和2D游戏
    不动笔不写程序
    哈佛大学凌晨4点
    (转)独立游戏
    《读书小记——神经网络及其在工程中的应用》
    共享的精神
    C# managed, unmanaged, unsafe 的比较
    python中对matlab的支持库
    chap05 C# 高级类型
    [转]Do We Teach the Right Algorithm Design Techniques ?
  • 原文地址:https://www.cnblogs.com/hzk001/p/11745269.html
Copyright © 2011-2022 走看看