Centos的SSH连接方式
思韵闪耀
2021-03-16
0

背景
在测试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即可。
实施步骤
安装完git就可以使用ssh客户端功能了(默认会配置好win的系统变量)。生成密钥命令ssh-keygen -t rsa -b 4096(默认是2048);只要装完ssh就可以通过该命令生成密钥对。
在客户端生成,我使用的是SecCRT工具(生成的途中在格式选项中选new就行):

直接在Linux服务器上生成密钥,在服务器上输入命令ssh-keygan -t rsa,第一个是保存的位置(位置最好就直接放在.ssh里面,到时候去sshd配置改一下就行了。),之后就是私钥的密码。和工具生成的一样,可以填或者不填。文件带.pub后缀的就是公钥了。另外一个就是私钥。


Win7装完git,有了ssh客户端之后,直接cmd下输入命令ssh-keygan -t rsa就会提示文件的保存了:一般在C:\Users\用户名\.ssh,id_rsa.pub就是公钥,没有pub就是私钥。都是可以自己设置的。
公钥放到linux服务器的/root/.ssh/xxx.pub里面(名字随意,只要sshd配置AuthorizedKeysFile .ssh/authorized_keys中的authorized_keys改成.ssh目录里面的公钥名字一样就行。),其次,公钥和私钥都要在客户端(我的win系统),不然登录的时候会报没有私钥错误。简单说:服务器只要公钥,客户端公钥私钥都必须要有。
服务器上的sshd_config也就是ssh的服务端配置文件要开启的参数:PubkeyAuthentication yes、AuthorizedKeysFile .ssh/authorized_keys(这里改为公钥就行,文件都是在.ssh目录里面就行)。
vscode的ssh配置(会保存在用户的文件夹里面C:\Users\你的用户名\.ssh)在同目录下生成一个config的文件,在vscode里面配置和在文件目录下配置都是一样的。配置如下:

复制id_rsa.pub文件(公钥)内容到linux下~/.ssh/authorized_keys(不一定要authorized_keys这个文件名,文件名称随意,只要是公钥就行),如果目录没有这个文件请创建。~就是linux的家目录;注意看提示符,如下:

[root@Kernel ~]# pwd
/root
[root@Kernel ~]# 

这里说一下.ssh的公钥文件,文件格式很简单,可以容纳无数个公钥,也就是可以对接很多个私钥认证。格式就是每一行保持独立的公钥内容就行。
完整的一行公钥是:ssh标识 公钥内容 帐号注释;三个内容,如图:

服务器Linux的文件权限修改一个是文件,一个是目录:chmod 600 ~/.ssh/authorized_keys , chmod 700 -R ~/.ssh/(经过测试,一般不需要更改权限)。

客户端(SecCRT)就可以使用密钥对进行登录了。

在这里插入图片描述
最后放一张登录的图:


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
Linux系统挂载未分配硬...
先查看未挂载之前的磁盘使用情况发现磁盘使用率已经达到了96%,迫切...
2025-02-22
Linux lsblk 命...
简介Linux 中的 lsblk 命令,全称叫做:list blo...
2025-02-22
linux内核5和6区别
Linux内核5.x和6.x版本之间有显著的区别,这些区别主要体现...
2024-04-29

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...