文章目录

  • 背景
  • 踩过的坑
  • 实施步骤

背景

在测试vscode远程调试linux服务器的时候,需要进行ssh连接,所以了解了一下ssh连接的一些方式和配置。
我测试的环境就是客户端Win7,服务器使用的是centos7.5。

  • linux中已经不再使用telnet进行管理了,原因是传输的内容是都明文传输。
  • linux中ssh通信可以有两种方式:1:帐号密码;2:密钥。
  • 这里就不讨论帐号密码,毕竟默认就是通过帐号密码登录的。而且不用关闭Selinux。
  • Win7中并没有什么SSH客户端工具。所以装个git,同时git也和vs有个搭配。

踩过的坑

研究了一天,估计就是我虚拟机有问题。一直提示密钥不匹配(报错提示:public-key authentication with the server for user kernel failed. please verify username and public/private key pair.)。
经过一天又一夜的研究,最后靠一位大神发现了问题。只要关闭了selinux就可以了。
/etc/selinux/config按照里面的要求改成SELINUX=disabled即可。

实施步骤

  1. 安装完git就可以使用ssh客户端功能了(默认会配置好win的系统变量)。生成密钥命令ssh-keygen -t rsa -b 4096(默认是2048);只要装完ssh就可以通过该命令生成密钥对。

    1. 在客户端生成,我使用的是SecCRT工具(生成的途中在格式选项中选new就行):
    2. 直接在Linux服务器上生成密钥,在服务器上输入命令ssh-keygan -t rsa,第一个是保存的位置(位置最好就直接放在.ssh里面,到时候去sshd配置改一下就行了。),之后就是私钥的密码。和工具生成的一样,可以填或者不填。文件带.pub后缀的就是公钥了。另外一个就是私钥。
    3. Win7装完git,有了ssh客户端之后,直接cmd下输入命令ssh-keygan -t rsa就会提示文件的保存了:一般在C:\Users\用户名\.sshid_rsa.pub就是公钥,没有pub就是私钥。都是可以自己设置的。
  2. 公钥放到linux服务器的/root/.ssh/xxx.pub里面(名字随意,只要sshd配置AuthorizedKeysFile .ssh/authorized_keys中的authorized_keys改成.ssh目录里面的公钥名字一样就行。),其次,公钥和私钥都要在客户端(我的win系统),不然登录的时候会报没有私钥错误。简单说:服务器只要公钥,客户端公钥私钥都必须要有。
  3. 服务器上的sshd_config也就是ssh的服务端配置文件要开启的参数:PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys(这里改为公钥就行,文件都是在.ssh目录里面就行)
  4. vscode的ssh配置(会保存在用户的文件夹里面C:\Users\你的用户名\.ssh)在同目录下生成一个config的文件,在vscode里面配置和在文件目录下配置都是一样的。配置如下:
  5. 复制id_rsa.pub文件(公钥)内容到linux下~/.ssh/authorized_keys(不一定要authorized_keys这个文件名,文件名称随意,只要是公钥就行),如果目录没有这个文件请创建。~就是linux的家目录;注意看提示符,如下:
[root@Kernel ~]# pwd
/root
[root@Kernel ~]#
  • 这里说一下.ssh的公钥文件,文件格式很简单,可以容纳无数个公钥,也就是可以对接很多个私钥认证。格式就是每一行保持独立的公钥内容就行。
  • 完整的一行公钥是:ssh标识 公钥内容 帐号注释;三个内容,如图:
  1. 服务器Linux的文件权限修改一个是文件,一个是目录:chmod 600 ~/.ssh/authorized_keyschmod 700 -R ~/.ssh/(经过测试,一般不需要更改权限)。
  2. 客户端(SecCRT)就可以使用密钥对进行登录了。
    最后放一张登录的图:

Centos的SSH连接方式相关推荐

  1. SSH连接方式及加密方式

    Begin 1.关于对称加密与非对称加密: 对称加密:加密解密使用同一个密钥,即消息发送方与接收方需要协商一个共同的密钥用于消息传输中加解密. 优势:加解密效率高,对计算机要求更低. 劣势: 需要有安 ...

  2. centos mysql ssh连接,使用SSH隧道连接MYSQL

    1. 概述 本文介绍了如何使用SSH隧道连接MySQL,网络隔离导致无法直接访问数据库的问题. 第2节对需求进行了简单的描述:第3节介绍了linux环境下,如何通过SSH隧道连接MySQL:第4节介绍 ...

  3. CentOS设置ssh连接的方法

    2019独角兽企业重金招聘Python工程师标准>>> 在做项目时由于公司局域网采用自动获取IP的方式,导到每次服务器重启主机IP都会变化.为了解决这个问题,我参考了http://b ...

  4. 怎么用xshell等ssh连接方式连接自己的本地虚拟机

    笔者在训练seq2seq的模型时发现官方的预训练模型的依赖在windows下跑会出现各种各样的版本问题,但是自己的服务器实在承担不下了,故尝试使用虚拟机配一个centos的虚拟机进行模型训练,相关的文 ...

  5. ubuntu ssh如何连接mysql_ubuntu配置ssh连接方式

    pgadmin4 配置界面的password指的是数据库用户的密码, 不是服务器的密码. pg数据库 1.确保远程服务器开放相应端口.这个是在防火墙设置. 2.pg数据库服务器允许外部ip访问, 默认 ...

  6. Linux配置SSH连接方式

    1. SSH介绍 1) 什么是SSH SSH是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全 2)SSH服务端和客户端 SSH服务端是一个守护进程,一遍为sshd进程,在后端运行 ...

  7. 服务器免密码传输文件,CentOS7,使用 scp 命令, ssh 连接方式,免密码传输文件到远程服务器,免密执行远程服务器上的 shell 脚本...

    如题 如果提示:-bash: scp: command not found, 执行下面的命令安装:1 yum install -y openssh-clients 免密码配置通常用 scp 命令通过 ...

  8. gitlab两种连接方式:ssh和http配置介绍 --转自 散尽浮华

    gitlab环境部署好后,创建project工程,在本地或远程下载gitlab代码,有两种方式:ssh和http 1)ssh方式:这是一种相对安全的方式 这要求将本地的公钥上传到gitlab中,如下图 ...

  9. Filezilla-使用ssh连接到服务器-上传下载文件

    连接服务器 这里介绍两种ssh连接方式(命令行以及ftp工具Fillzilla) 首先下载安装Fillzilla,安装教程自行百度,这里分客户端跟服务端两个版本. 客户端 我们选择下载客户端(传输文件 ...

最新文章

  1. THINKPAD笔记本Fn组合键介绍
  2. ifstream 打开中文路径乱码问题处理
  3. 推荐特征筛选偷懒神器-M3USelector
  4. python如何爬虫eps数据_入门Python爬虫 -- 解析数据篇
  5. 20145303 《信息安全系统设计基础》第7周学习总结(2)
  6. Spring中使用Quartz之MethodInvokingJobDetailFactoryBean配置任务
  7. 黑马程序员传智播客python 协程greenlet gevent学习笔记
  8. 云EC电商cms安装
  9. plot函数--R语言
  10. 树莓派开始,玩转Linux21:进程的生与死
  11. linux创建文件内容三行,Linux 文本处理三剑客
  12. bm26 bm27 bm5
  13. 英伟达或推出没有光线追踪的新款图灵架构GPU,这里有几个猜想...
  14. Soft-Clipping Mish激活函数
  15. 多组差异分析的可视化,这样做最省心!
  16. win10注册dll
  17. 最短路径 [迪杰特斯拉算法] ---图
  18. 免费香港PHP空间实战
  19. 比较出名的导航类网站
  20. 视频直播技术分享:一文读懂主流视频直播系统的推拉流架构、传输协议等

热门文章

  1. Python扩展库numpy中where()函数的三种用法
  2. python入门之控制结构循环结构_python入门教程04-05(python语法入门之流程控制)...
  3. 中input标签赋值_Java程序员:Spring MVC JSP表单标签示例
  4. 牛津词典电子版txt_英语启蒙:推荐一款超火的英文词典app
  5. php中文字怎么上下居中,CSS怎么设置垂直居中?
  6. echart vue 图表大小_vue中echarts图表大小适应窗口大小且不需要刷新案例
  7. boost知识点查阅
  8. C语言之文件读写探究(六):fscanf、fprintf(格式化读写文件)
  9. java哈夫曼_用 JAVA 实现哈夫曼树(Huffman Tree)
  10. oracle 分组 top10 sql,oracle sql 合龙 分组 聚合函数