基于Xshell使用密钥方式连接远程主机

连接远程主机,就验证身份而言,一般有两种方式,一种是通过用户密码;另一种通过公钥的方式(Public Key)。

图1  xshell支持验证登录用户的方式

下面就使用Public Key的方式来实现连接,通过工具ssh-kengen生成密钥对。

注意:操作之前需要ping通本机和目的主机(如果ping不通,可能的原因是防火墙、SELinux没关闭,或者网关设置有问题等)

使用XShell,这里使用的是XShell manager 5,目的主机为CentOS6,将需要连接的远程主机称为目的主机。

目的主机安装ssh服务端,并开启

[root@node1 ~]$ yum install -y openssh-server   # 安装openssh服务端
[root@node1 ~]$ yum install -y openssh-clients #安装openssh客户端,可以不安装
[root@node1 ~]$ service sshd start     # 临时开启sshd服务
[root@node1 ~]$ chkconfig sshd on      # 永久开启sshd服务,服务器重启也生效
[root@node1 ~]$service sshd status     # 查看sshd服务运行状态
openssh-daemon (pid ) 正在运行... # 显示正在运行

生成ssh密钥对(包括私钥和公钥)

[root@node1 ~]$ (umask ; ssh-keygen)     #  生成ssh密钥对,并将权限设置为600
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): # 回车
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
fd::::a6:7d::c7::d2::3d::0e::2f root@node1
The key's randomart image is:
+--[ RSA ]----+
| .o.+ |
| o B * . |
| o. O % |
| E .. O + |
| .S o |
| o |
| . o |
| o |
| |
+-----------------+
[root@node1 ~]$ cd .ssh/
[root@node1 .ssh]$ ll # 查看密钥/公钥对信息,权限都为600
总用量
-rw-------. root root 5月 : id_rsa     # 私钥
-rw-------. root root 5月 : id_rsa.pub # 公钥
[root@node1 .ssh]$

修改sshd连接配置文件vim /etc/ssh/sshd_config

PasswordAuthentication no        # 不允许密码验证登录
PubkeyAuthentication yes # 允许公钥验证登录
AuthorizedKeysFile .ssh/id_rsa.pub # 指定公钥文件路径

将ssh密钥对导出到本机,建议创建一个目录专用放置密钥对

#]sz id_rsa
#]sz id_rsa.pub

重载sshd服务

[root@node1 .ssh]$ service sshd reload
重新载入 sshd: [确定]

使用XShell连接

ssh root@IP

图2  选择密钥文件

图3  导入私钥并确定

注意:点击确定之后还要重新连接一次

图4  连接成功

客户端使用私钥去验证,而远程主机使用公钥验证。

基于Xshell使用密钥方式连接远程主机的更多相关文章

  1. Xshell通过ssh方式连接Linux服务器,通过Xftp进行文件传输

    准备工作: 一.Linux服务器一台,并配置ssh(本文以腾讯云服务器为例). 1.生成秘钥 打开腾讯云控制台,依次选择:总览->云服务器->SSH秘钥 点击创建秘钥,输入秘钥名称,点击确 ...

  2. 通过Xshell来访问和连接Linux

    Xshell初使用:Xshell资源下载 刚刚接触Xshell是在javamail中的telnet收发邮件,然而这个我们并不常用,用的最多的是Xshell进行访问和连接远程主机. 通过Xshell来访 ...

  3. ssh通过密钥进行连接

    sshd服务提供两种安全验证的方法: 基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机. 基于密钥的安全验证:需要在本地生成"密钥对"后将公钥传送至服务端,进行公共密钥的比 ...

  4. xshell使用密钥登陆linux

    一.环境CentOS 7.4xshell 6 二.介绍远程ssh连接服务器 默认是用的密码验证的方式,而且还是root账号,这样的验证方式会有安全隐患,容易被人暴力破解root密码.如果改成用密钥登陆 ...

  5. 使用SSH密钥方式登录ubuntu Linux,指令(ssh-keygen 和 ssh-copy-id)

    实验目的 从myVM1(本地主机)上登录myVM2(远程主机).采用密钥方式,不输入密码. 测试环境 主机:window7 sp1 64位 专业版 虚拟机:VMware workstation 12 ...

  6. 在windows主机中,利用XSHELL生成“密钥”进行虚拟机与物理机的传输

    首先你要有虚拟机,其次你要可以互相ping通(主机与虚拟机) 接着你要有xshell 软件  没有的话可以点击链接下载 Xshell  6  提取码:cj5t 打开Xshell软件  在工具栏中选择“ ...

  7. Xshell登录Vagrant方式

    Xshell登录Vagrant方式 我上一篇文章 介绍了vagrant 如何创建虚拟机集群,在上篇文章的基础上,用xshell 登录 虚拟机发现 默认是无法使用账号密码登录root账号,只能使用vag ...

  8. 使用TortoiseGit,设置ssh方式连接git仓库。

    开始设置之前的准备:建立项目文件夹,初始化git仓库(右键 git  init),右键打开 git bash ,git pull “仓库地址”, 把网站上的仓库代码拉取下来. TortoiseGit使 ...

  9. 使用ssh连接远程主机

    在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的. ssh登录远程主机(服务器)一般有两种方式:无密钥方式  ...

随机推荐

  1. Java学习:注解,反射,动态编译

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Java学习:注解,反射,动态编译 Annotation 注解  什么是注解 ? Annotat ...

  2. 减小ipa包大小

    1.删除不用的文件和图片 2.打release模式 3.色调单一图片采用8-bit的,对32-bit的图片采用压缩 4.对音视频采用aac压缩

  3. Windows路由表

    对于路由器的路由表,网管都很熟悉,但是windows的路由表,可能了解的人就相对少一些.今天我们就一起来看看windows路由表. 一.windows路由表 1.使用命令 route print 查看 ...

  4. mssql卸载后重新安装 错误解决

    1.instance id already in use http://www.sqlservercentral.com/articles/MSSQLSERVER/161398/ 2.提示没有重启 删 ...

  5. Mysql导入表信息[Err] 1067 - Invalid default value for '字段名'

    修改mysql配置文件 vi /etc/my.cnf //添加以下配置 sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISI ...

  6. 2018-2019-1 20189203《Linux内核原理与分析》第五周作业

    第一部分 课本学习 用户态.内核态和中断 1.内核态:处于高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态,对所有的指令包括特权指令都可以执行. 2.用户态:处于低的 ...

  7. cocos2dx 实现文字的一键复制功能(IOS、Android)

    1.IOS篇(用OC和C++混编) 头文件声明: public static void copy(std::string str); 实现如下: void copy(std::string str) ...

  8. C# Tuple<T1,T2....T>元组的使用

    1) 先说组元:一个数据结构,由通过逗号分割的,用于传递给一个程序或者操作系统的一系列值的组合. NET Framework 直接支持一至七元素的元组 Tuple<T1> Tuple< ...

  9. Oarcle 入门之where关键字

    --where 关键字 --作用:过滤行 *将需要的行用where引导出来 用法: 1.判断符号:=,!=,<>,<,>,<=,>=,any,some,all; 例 ...

  10. <转>jmeter(十九)HTTP属性管理器

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...