首先先说明一下有密码的,涉及到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目录下,这样就可以找到密钥证书了!

最新文章

  1. [翻译] AKKA笔记- ACTORSYSTEM (配置CONFIGURATION 与调度SCHEDULING) - 4(一)
  2. python mysql 单引号字符串过滤
  3. EditText----
  4. 在linux中的virtualbox无法挂载usb设备的解决方法
  5. windows条件下,Ping加上时间戳,并保存到文件,适用于测试网络
  6. 新建arcgis api for android 项目失败
  7. 使用CSS的类名交集复合选择器
  8. Ubuntu 10.04下安装Opengl glx
  9. LeetCode_Search a 2D Matrix
  10. u Calculate e
  11. 插入排序java
  12. SQL server Cannot find one or more
  13. jQuery修改css属性
  14. redis内存占用说明
  15. MySQL查看和修改表的存储引擎
  16. C和C++运行库
  17. SVN的Branch和Tag管理
  18. PAT甲级1060 Are They Equal【模拟】
  19. 筛选BETWEEN '2018-1-1 00:00:00' AND '2018-5-18 00:00:00'每日`status`='1'的记录总条数
  20. 重启sqlserver服务 命令

热门文章

  1. 程序员修神之路--设计一套RPC框架并非易事
  2. 利用Helm简化Kubernetes应用部署(2)
  3. 基于MQTT协议的云端proxy远程登陆
  4. 部署主从dns
  5. Mac 10.14在新窗口中打开文件夹
  6. 马蜂窝 IM 移动端架构的从 0 到 1
  7. 10个比较流行的JavaScript面试题
  8. PowUp渗透脚本基本模块
  9. CSS中各种布局的背后(*FC)
  10. MFC::Visual studio ? 对应VC6-14