解决ssh使用public key远程登录服务器拒绝问题

news2024/11/26 11:27:48

目录

  • 使用场景
  • windows安装ssh客户端
  • 使用powershell ssh登录服务器
  • 生成密钥文件
  • ubuntu ssh服务器配置
  • 使用vscode远程登录
  • 使用Xshell远程登录
  • 使用MobaXtem远程登录
  • Server refused our key问题解决方案

使用场景

使用vscode远程ssh登录使用public key不需要输入密码,比较方便.

windows安装ssh客户端

打开powershell命令行窗口

#查看ssh是否安装
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
#
Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

#安装ssh客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
#安装ssh服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

使用powershell ssh登录服务器

ssh username@serverIP

生成密钥文件

在linux服务器上或者本地windows上生成,现在在linux服务器上生成

ssh-keygen -t ecdsa
#一路回车,passphrase密码设置为空(方便vscode在使用过程中不需要输入passphrase密码)

cd ~/.ssh
#公钥保存到文件authorized_keys,如果有多个公钥添加到文件中,使用 >>
cat id_ecdsa.pub >authorized_keys

#把私钥文件id_ecdsa复制到windows用户的.ssh目录中,例如:C:\Users\Administrator\.ssh

ubuntu ssh服务器配置

sudo vim /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
StrictModes no

重启ssh服务

sudo service ssh restart

使用vscode远程登录

vscode安装remote-SSH插件.

编辑C:\Users\Administrator\.ssh\config配置文件

Host ubuntu18
	#远程linux服务器IP地址
    HostName 192.168.1.111
    #登录用户名
    User lei
    #私钥文件
    IdentityFile C:\Users\Administrator\.ssh\id_ecdsa

如下图,Remote Explorer->Connect in Current Windows…,使用公钥登录linux服务器.
在这里插入图片描述

使用Xshell远程登录

如下图点击Browse…导入私钥,Passphrase根据以前生成时的设置情况,这里为空.
在这里插入图片描述

使用MobaXtem远程登录

如下图指定私钥文件

在这里插入图片描述

Server refused our key问题解决方案

#可以查看登录失败信息
sudo cat /var/log/auth.log | grep sshd

使用MobaXtem可以在客户端看到Server refused our key提示.

在网上寻找了许多方案都不能解决问题,我的ubuntu系统安装有点问题.

最终发现ssh-keygen -t ecdsa生成的秘钥可以,同时sshd配置文件需要设置StrictModes no.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1264897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用opencv实现更换证件照背景颜色

1 概述 生活中经常要用到各种要求的证件照电子版,红底,蓝底,白底等,大部分情况我们只有其中一种,本文通过opencv实现证件照背景的颜色替换。 1.1 opencv介绍 OpenCV(Open Source Computer Vision Librar…

Leetcode 380. O(1) 时间插入、删除和获取随机元素

文章目录 题目代码(11.28 首刷看解析) 题目 Leetcode 380. O(1) 时间插入、删除和获取随机元素 代码(11.28 首刷看解析) 1.length:表示的是数组的长度 数组 2.length():表示的是字符串的长度 字符串 3.size():表示的是集合中有多…

人工智能|机器学习——感知器算法原理与python实现

感知器算法是一种可以直接得到线性判别函数的线性分类方法,它是基于样本线性可分的要求下使用的。 一、线性可分与线性不可分 为了方便讨论,我们蒋样本增加了以为常数,得到增广样向量 y(1;;;...;),则n个样本的集合为&a…

vue项目中使用jsonp跨域请求百度联想接口

一. 内容简介 vue项目中使用jsonp跨域请求百度联想接口 二. 软件环境 2.1 Visual Studio Code 1.75.0 2.2 chrome浏览器 2.3 node v18.14.0 三.主要流程 3.1 代码 核心代码 // 这个是请求函数doLeno() {// 挂载回调函数,不挂载,会报不存在window…

短视频账号矩阵系统源码/saas独立源头技术开发

一、批量剪辑(采用php语言,数学建模) 短视频合成批量剪辑的算法主要有以下几种: 1. 帧间插值算法:通过对多个视频的帧进行插帧处理,从而合成一段平滑的短视频。 2. 特征提取算法:提取多个视频中…

viple模拟器使用(四):unity模拟器中实现沿右墙迷宫算法

沿右墙迷宫算法 引导 线控模拟可以使得通过用户手动操作,实现机器人在模拟环境下在迷宫中行走(即:运动),算法可以使得机器人按照一定的策略自动行走,沿右墙迷宫算法就是其中的一种策略。 目的 运行程序后&…

MFC容器中使用标准库容器,内存违规

问题描述 CArray中元素不管是直接或间接使用标准库容器&#xff0c;会引发内存违规。与CArray内部实现有关。测试代码如下&#xff1a; struct tagData {std::vector<int> m_Values; }; CArray<tagData, tagData> mIntVecArray; {tagData mData;mData.m_Values.p…

【08】Python运算符

文章目录 1.算术运算符2.赋值运算符3.条件运算符4.逻辑运算符5.比较运算符6.运算符的优先级本期博客中,我们将学习python中常用的运算符的用法。              1.算术运算符 1.加法运算符(+): a = 10 b = 5 c = a + b print(c

仿制剧情吧网站源码 帝国CMS剧情介绍模板

帝国CMS7.5剧情介绍模板&#xff0c;仿制剧情吧网站的风格。该模板并非用于直接播放电影&#xff0c;而是用文字描述剧情&#xff0c;同时包含手机版。本站免费分享供站长学习研究使用。采用伪静态技术&#xff0c;无需生成HTML。出于美观考虑&#xff0c;自带数据仅供本地环境…

跨越威胁的传说:揭秘Web安全的七大恶魔

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

OpenCV | 傅里叶变换——低通滤波器与高通滤波器

import cv2 #opencv 读取的格式是BGR import numpy as np import matplotlib.pyplot as plt #Matplotlib是RGB %matplotlib inline def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows() 傅里叶变换 傅里叶变换的作用 高频&#xff1a;变化剧烈…

什么是计算机病毒?

计算机病毒 1. 定义2. 计算机病毒的特点3. 计算机病毒的常见类型和攻击方式4. 如何防御计算机病毒 1. 定义 计算机病毒是计算机程序编制者在计算机程序中插入的破坏计算机功能或者破坏数据&#xff0c;影响计算机使用并且能够自我复制的一组计算机指令或程序代码。因其特点与生…

算法基础之食物链

食物链 核心思想&#xff1a;带权并查集 用距根节点和距离表示与根节点的关系 求距离 #include<iostream>using namespace std;const int N50010;int n,m;int p[N],d[N];//找到祖宗节点(路径压缩) 并求出对应距离int find(int x){if(p[x]!x){int up[x]; //保存旧父节点…

ACM程序设计课内实验(1)数学问题

1.The Hardest Problem Ever Description Julius Caesar生活在一个危险而又充斥着阴谋的时代。Caesar面对的最难的情况关系着他的存亡。为了让自己生存&#xff0c;他决心去创造第一种加密方法之一。这个加密方法听起来是这样的令人难以置信&#xff0c;没有一个人可以指出它&a…

【数学】旋转矩阵

参考链接 OpenGL from OpenGL.GL import * from OpenGL.GLUT import * from math import * import numpy as np def draw_axes():glClear(GL_COLOR_BUFFER_BIT)# 绘制坐标轴glColor3f(1.0, 1.0, 1.0) # 设置坐标轴颜色为白色glBegin(GL_LINES)glVertex2f(-1.0, 0.0) # x 轴g…

【Vue】绝了!还有不懂生命周期的?

生命周期 Vue.js 组件生命周期&#xff1a; 生命周期函数&#xff08;钩子&#xff09;就是给我们提供了一些特定的时刻&#xff0c;让我们可以在这个周期段内加入自己的代码&#xff0c;做一些需要的事情; 生命周期钩子中的this指向是VM 或 组件实例对象 在JS 中&#xff0c;…

ArrayList与顺序表的简单理解

前言----list 在集合框架中&#xff0c;List是一个接口&#xff0c;继承自Collection。Collection也是一个接口&#xff0c;该接口中规范了后序容器中常用的一些方法&#xff0c;具体如下所示&#xff1a; Iterable也是一个接口&#xff0c;表示实现该接口的类是可以逐个元素进…

Redis队列stream,Redis多线程详解

Redis 目前最新版本为 Redis-6.2.6 &#xff0c;会以 CentOS7 下 Redis-6.2.4 版本进行讲解。 下载地址&#xff1a; https://redis.io/download 安装运行 Redis 很简单&#xff0c;在 Linux 下执行上面的 4 条命令即可 &#xff0c;同时前面的 课程已经有完整的视…

JAVA基础进阶(十三)

一、反射概述 反射是指对于任何一个Class类&#xff0c;在"运行的时候"都可以直接得到这个类的全部成分。 在运行时,可以直接得到这个类的构造器对象&#xff1a;Constructor 在运行时,可以直接得到这个类的成员变量对象&#xff1a;Field 在运行时,可以直接得到…

基于若依的ruoyi-nbcio流程管理系统增加流程节点配置(三)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 这一节主要是对每个流程节点的字段规则设置与操作规则设置&#xff0c;目前也是只针对自定义业务表单。 1、…