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中的工具下的新建用户密钥生成导向

Xshell6配置ssh免密码登录虚拟机

Xshell6配置ssh免密码登录虚拟机

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

Xshell6配置ssh免密码登录虚拟机

Xshell6配置ssh免密码登录虚拟机

保存在桌面

之后完成即可

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

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

Xshell6配置ssh免密码登录虚拟机

 Xshell6配置ssh免密码登录虚拟机

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

Xshell6配置ssh免密码登录虚拟机

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

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

Xshell6配置ssh免密码登录虚拟机

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

Xshell6配置ssh免密码登录虚拟机

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

Xshell6配置ssh免密码登录虚拟机

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

相关推荐