我是靠谱客的博主 生动画笔,最近开发中收集的这篇文章主要介绍linux ssh公钥文件,linux配置ssh公钥认证简介,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

linux配置ssh公钥认证简介

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。下面是关于linux配置ssh公钥认证简介,希望大家认真阅读!

一、生成和导入KEY

A主机上生成key

$ ssh-keygen -t rsa

$ ls

id_rsa id_rsa.pub

将key导入到远程的B主机上,并修改权限

A主机上操作

$ cat /root/.ssh/id_rsa.pub | ssh root@远程服务器ip 'cat - >> ~/.ssh/authorized_keys'

B主机上操作

$ chmod 600 ~/.ssh/authorized_keys

不过还有更简单的方法,不需要在B主机上再修改权限 ,而直接将公钥内容导入到远程主机上,使用ssh-copy-id命令,如下:

$ ssh-copy-id -i /root/.ssh/id_rsa root@xxx,xxx,xxx,xxx

二、配置sshd_config

配置完key后,需要在sshd_config文件中开启key认证

$ vim /etc/ssh/sshd_config

PubkeyAuthentication yes //将该项改为yes

修改完成后,通过/etc/init.d/sshd restart 重启ssh服务重新加载配置。如果想要禁用密码认证,更改如下项:

$ vim /etc/ssh/sshd_config

UsePAM yes

UserPAM no

更多配置参数及其意义,可以通过man sshd_config 查看。

三、ssh_config及多私钥配置

sshd_config是一个全局服务端的配置文件(即本机开启sshd服务的相关配置),而ssh_config则是一个全局客户端的配置文件。例如,ssh_config中其中两行就定义了每个用户下默认私钥key的路径:

# IdentityFile ~/.ssh/id_rsa

# IdentityFile ~/.ssh/id_dsa

如果出现多台server 多个私钥文件,在client主机上怎么配置呢?全部追加到 ~/.ssh/id_rsa(或id_dsa)中?经测试,这是行不通的,只有第一个私钥可以用,后面的都不行。

在多台server时,可以有两种解决方案。

1、在不同的主机上,使用相同的公钥,则这些机器的私钥也相同。客户端上只需要配置这一个私钥就可以登录所有的主机。

2、不同的主机上使用不同的公钥时, 这时会有多个不同的私钥。这就需要为不同的主机指定不同的私钥文件,这个配置可以在ssh_config中配置(具体可以参看该文件的配置样例)。当然更多情况下,我们只会在要使用的用户做个情化的配置,配置文件为~/.ssh/config(该文件不存在时,请创建之),格式如下:

Host xxxx

IdentityFile 私钥文件名

Port 端口号

User 你登陆xxxx服务器用的'账号

注:这里的配置文件同样可以参看ssh_config里的配置,也可以通过man ssh_config获取更多有用信息。

Host *

User www

Port 22

CheckHostIP no

Compression yes

ForwardAgent yes

Host 10.1.100.*

User dev

Port 22

IdentityFile ~/.ssh/dev.key

如上面的配置,默认我们连接所有的主机(除后面给出的10.1.100.*之外的所有主机)时,默认使用户名为www ,即 ssh 172.20.1.100 = ssh www@172.20.1.100 -p 22 。当我们连接10.1.100.* 下的所有主机时,默认会使用dev用户,默认的私钥会用 ~/.ssh/dev.key 文件。同理,可以增加更多配置。

【linux配置ssh公钥认证简介】相关文章:

最后

以上就是生动画笔为你收集整理的linux ssh公钥文件,linux配置ssh公钥认证简介的全部内容,希望文章能够帮你解决linux ssh公钥文件,linux配置ssh公钥认证简介所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部