linux信任公钥的配置

简介:   一、每个用户都有自己的家目录   访问方式是:~/.ssh/id_rsa.pub   使用~就是表示家目录。   具体家目录在哪里,在用户密码配置文件中:/etc/passwd中。

 

 

一、每个用户都有自己的家目录

 

访问方式是:~/.ssh/id_rsa.pub

 

使用~就是表示家目录。

 

具体家目录在哪里,在用户密码配置文件中:/etc/passwd中。第6列的值就是。

 

可以使用~访问家目录。也可以直接输入绝对路径来访问:/home/git/。

 

每个用户都有一个自己信任列表文件,配置在:~/.ssh/authorized_keys

 

里面放的就是每个用户信任哪些公钥。

 

a机器》》通过ssh连接》b机器的linux用户。

 

使用某个用户连接到b机器,那么,就要把公钥加到b机器上,此用户的信任列表(~/.ssh/authorized_keys )中去。记住是此用户的信任列表中去。

 

 

二、信任列表中的公钥是一行一个公钥

 

~/.ssh/authorized_keys文件中,公钥之间,必须要有换行,一行一个公钥,没有换行,会当成一个公钥。

 

 

 

如下方式是错误的:

 

思考,怎么对每一个公钥值添加注释呢。比如想知道这个公钥到底是给谁用户。不然这么长,以后要删除的时候,怎么确定要删除哪个公钥。只能靠注释了。

 

 

此文件中空行和以'#'开头的行将被当作注释忽略。

 

 

三、远程机器目录和文件的权限要设置对

 

之所以没生效,要保证,是因为权限设置不对。

配置用户的公钥登陆时,配置完authorized_keys居然一直不生效,于是google之,发现原来是因为.ssh目录和下面文件的权限问题导致的,因为目录的权限已经超过了sshd的要求权限。
如果希望ssh公钥生效需满足至少下面两个条件:

1).ssh目录的权限必须是700 。目录要可以读写执行。其他用户都没有任何权限,因为这个目录是这个用户专有使用的。

2) .ssh/authorized_keys文件权限必须是600。思考:只有自己才可以读写(不需要执行),所以第一个值是6。其他用户都没任何权限,所以是00

 

整个ssh软件已经限制死了,必须是上面这样的权限才行,多一点都不能通过。比如设置authorized_keys文件的权限是660,那也通不过。

 

 

 

四、公钥的生成方式

 

 

ssh-keygen -t rsa -C “注释说明,一般是填写邮箱

 

最后得到了两个文件,在~/.ssh/目录里:id_rsa和id_rsa.pub。

 

私钥文件是:~/.ssh/id_rsa文件中。公钥文件是,id_rsa.pub

 

 

看到网上,有人直接使用如下命令添加公钥到信任文件列表中去:

 

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 

加入进去的公钥,会自动换行?

实际上就是一行一条数据。加到末尾,其实就是新的一行?

 

五、如何进行ssh登陆

 

ssh 用户名@ip

 

 

 

注:这个用户名,指的是远程机器上的linux用户名。表示说,用这个用户名,去登陆到远程机器上去。假设这个用户名是为git_remote。

 

1、既然是使用这个用户名去登陆远程机器。那么使用的就是远程机器上,git_remote用户的信任公钥文件。

 

远程机器上这个文件,位置在“git_remote用户的家目录/.ssh/authorized_keys"。

 

2、要把客户机上,当前linux账号的公钥值,添加到远程机器git_remote用户家目录/.ssh/authorized_keys"中去。这样才能信任通过验证。

 

怎么确定当前linux用户,假设是使用git用户在执行ssh命令,那么就是git用户。

 

客户机,当前linux的公钥文件,在"git用户的家目录/.ssh/id_dsa.pub"文件中。

目录
相关文章
|
27天前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
128 64
|
4天前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
22天前
|
安全 Linux 网络安全
Linux生成公钥和私钥 | 14
Linux生成公钥和私钥 | 14
|
20天前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
23天前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
34 1
|
28天前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
104 3
|
5天前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
21 0
|
6天前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
2月前
|
Ubuntu Linux 开发工具
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
|
2月前
|
存储 运维 监控
在Linux中,如何进行高可用性配置?
在Linux中,如何进行高可用性配置?