首先说一下大体的思路:

1. 以密码登陆CentOS系统

2. 配置ssh

3. xshell 生成秘钥

4. 进行免密登陆

软件、设备:

  xshell(下载地址(免费版),也可以自行百度下载)

  CentOS7.5 (百度云服务器)

接下来言归正传:

1. 密码远程连接CentOS

打开xshell  -- 文件 -- 新建,会弹出如下图的界面

说明一下里面需要修改的地方

  • 名称:为了区分服务器,名字随便起
  • 协议:默认ssh就好
  • 主机:CentOS系统所在的机器的IP地址
  • 端口:默认22就可以
  • 重新连接:有需要可以勾选上,当连接意外断开后,xshell会自动重新进行连接

在左侧的目录中选择 <用户身份验证> ,显示如下界面

参数说明:

  • 方法:xshell与CentOS连接时的验证方式,第一次先选择 Password
  • 用户名:CentOS的用户名,我这里直接使用的是root账户
  • 密码:需要登录账户的密码

然后进行连接,成功登录会在命令行前显示你登录的用户名,如下图所示

如果登陆失败,首先检查登录的账户是否存在,密码是否正确,如果没有问题,检查CentOS的端口是否开放

2. 安装、配置ssh

1. 安装openssh-server

  yum install -y openssl openssh-server

2. 修改ssh配置

  使用vim打开/etc/ssh/sshd-config

  sudo vim /etc/ssh/sshd_config

  

  编辑完成后,进行保存

3. 启动ssh服务

systemctl start sshd.service

4. 设置ssh开机自启

systemctl enable sshd.service

5. 创建.ssh文件夹

在用户的家目录中创建.ssh文件夹

mkdir ~/.ssh

至此为止ssh配置告一段落

3. xshell生成秘钥

1. 打开xshell -- 工具 -- 用户秘钥管理者

会弹出如下窗口

在右侧选项行中选择生成

选择下一步,不需要进行修改

秘钥已经生成,单击下一步

参数说明

  • 秘钥名称:随便起,自己能够分得清就可以
  • 密码:这个就是要验证我们的身份的密码,会通过RSA进行加密,这里我用的是123456
  • 确认:和上面的密码一样就可以,目的检测我们两次的密码是否一致

单击下一步,会弹出如下图

然后选择保存文件,将公钥信息保存下来,这里我保存为test.pub,保存后单击完成(xshell会自动记录test。pub)

然后将test.pub上传到我们在第二步中创建的.ssh文件夹中

  这里我使用rz命令(安装 yum install -y lrzsz, 文件传输命令)

  首先  cd ~/.ssh 进入.ssh文件夹, 然后执行rz, 会弹出一个选择文件的窗口,选择刚刚生成的test.pub

  然后使用 ll 检查是否上传成功

  

最后将test.pub中的公钥添加到 authorized_keys中(authorized_keys存储公钥)

cat test.pub >> authorized_keys

4. xshell 设置免密登陆

新建一个连接,同样的设置名称、主机、端口等信息,注意名称要设置成不一样的,以便于区分

设置用户身份验证

参数说明:

  • 方法:选择Public key
  • 用户名:创建 .ssh 文件夹的用户,我这里是root账户,所以用户名就是root
  • 用户秘钥:在下拉框中选择test(就是刚刚创建的test.pub)
  • 密码: 就是在生成秘钥的时候输入的那个密码

然后进行连接,就可以进行免密登陆了

本人新手上路,如果有什么问题欢迎在评论区留言!

xshell 远程登陆CentOS7 免密登陆的更多相关文章

  1. putty 、xshell的使用 和 putty 、xshell、 shell 间免密登陆

    相关软件的使用: ######################################################################### 以上是相关软件的使用! 以下是免密 ...

  2. ssh免密登陆配置

    目录 ssh免密登陆 在A工作站上输入 B服务器上输入 登陆 ssh初次登陆询问 1.单次取消 2.ansible中增加链接参数 3.修改ansible配置参数[推荐] 4.修改服务器上的ssh_co ...

  3. linux ssh免密登陆远程服务器

    10.170.1.18服务器免密登录到10.170.1.16服务器 首先登入一台linux服务器(10.170.1.18),此台做为母机(即登入其他linux系统用这台做为入口):执行一行命令生成ke ...

  4. 多个电脑上免密登陆命令、scp远程拷贝、修改文件的用户和组

    多个电脑上免密登陆命令: 1.ssh-keygen    生成密钥 2.ssh-copy-id   IP 拷贝公钥到指定服务器并授权 3.ssh   Ip 验证登录,已无需输入密码 scp远程拷贝: ...

  5. 多台centos7服务器实现SSH免密登陆

    一.环境 centos7.x 三台 node1.node2.node3 二.实现免密登陆 2.1.node1上,生成公钥与私钥 [root@node1 ~]# ssh-keygen Generatin ...

  6. centos实现免密登陆及远程操作

    ----------------------------**********------------------------------------------------- 免密码登陆 第一步: 执 ...

  7. CentOS7 配置免密登陆

    首先我通过VMware配置了4台机器 然后依次更改每台机器的hosts文件为:   (/etc/hosts) 192.168.32.128 linux1192.168.32.130 linux2192 ...

  8. CentOS7 开启免密登陆

    1.开启免密登陆功能 以下文件 /etc/ssh/sshd_config 取消以下两项注释,如果没有添加. RSAAuthentication yes PubkeyAuthentication yes ...

  9. centOS7开启ssh免密登陆

    一.登陆服务器生成ssh-key 二.把ssh-key复制到被登陆机器上 三.设置权限 root# .ssh 文件夹权限 root# .ssh/authorized_keys 文件权限 四.测试是否正 ...

随机推荐

  1. C学习笔记(1)---数据类型,变量,储存类

    1.常用基本数据类型占用空间(64位机器为例): char : 1个字节 -- int :4个字节 -- float:4个字节 -- double:8个字节 2.书写类型: A.整数: a. 默认为1 ...

  2. git clone克隆代码显示“无权限或者确认存储库是否存在”

    今天我用公司的电脑要继续完成我自己的git上的小项目的时候,发现git clone失败,提示 然后我在公司电脑上生成公钥感觉又太麻烦了 网上找了个好方法就是把自己电脑上的.ssh文件夹拷贝到公司电脑上 ...

  3. 简述ECMAScript6新增特性

    1.变量 var 可以重复声明.只有函数级的作用域.存在变量提升 let 不能重复声明.有块级作用域.没有变量提升.变量 const 不能重复声明.具有块级作用域.常量 2.箭头函数 a.为了方便而存 ...

  4. day45_9_4前端(2)css

    一.css的三种css导入: 1.在标签中内部定义(不推荐). 2.在head中的style总定义样式. 3.使用link链接外部的css文件. <!DOCTYPE html> <h ...

  5. springboot中Thymeleaf和Freemarker模板引擎的区别

    前言这两个都是属于模板引擎,但是各有各的好处,enn,在市面上比较多的也就是jsp.freemarker.velocity.thymeleaf等页面方案.Thymeleaf和Freemarker的区别 ...

  6. webpack与vue环境搭建(转载)

    原文:https://www.cnblogs.com/lgx5/p/10732016.html npm安装教程   一.使用之前,我们先来掌握3个东西是用来干什么的. npm: Nodejs下的包管理 ...

  7. [开源]OSharpNS 步步为营系列 - 2. 添加业务数据层

    什么是OSharp OSharpNS全称OSharp Framework with .NetStandard2.0,是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架.这个 ...

  8. 【shell脚本】定时备份数据库===dbbackup.sh

    定时备份数据库是很有必要的 一.脚本内容 [root@localhost dbbackup]# cat dbbackup.sh #!/bin/bash #备份数据库 mysqldump -uroot ...

  9. NimSystem实现

    题目 题目比较长,我直接放截图吧 简述 一个比较经典的类与对象的题目,三个类实现了一个比较简单的系统,具体的每个类的要求可以从上面的题目描述中看出(只要你有耐心读完..),不再赘述,代码如下 代码实现 ...

  10. linux 链接mysql并覆盖数据

    --链接mysql 命令格式: mysql -h 主机地址 -u 用户名 -p --按回车输入密码 --在服务器里登录到数据库里 ,使用某个库,gtmc 代表数据库名称 use gtmc --覆盖数据 ...