Linux密钥登陆

Linux密钥登陆,第1张

首先明确一点,一对密钥分为私钥和公钥,私钥是你自己留着的,公钥是放在远程主机的。密钥对通过 ssh-keygen 创建的,在哪台主机创建的无所谓,你可以将公钥放到任意你想登陆的服务器上,也可以把私钥放到任意需要登陆的客户机上。

现在使用 ssh-keygen 生成一对密钥

使用 ssh-copy-id 将公钥发送到指定的主机上

在目标主机的 ~/.ssh/authorized_keys 中会添加刚刚发送来的公钥。

这样就可以实现免密登陆了。

Linux 使用ssh-agent来管理密钥,使用 ssh-keygen 生成之后会自动添加到ssh-agent,也可以通过 ssh-add 私钥 来添加,通过以下命令 *** 作

有些程序点名需要 -----BEGIN OPENSSH RSA KEY-----

可以使用以下命令生成

不得不说,免密登录确实很方便

使用配置公钥秘钥

这个网上其实很多资料,

首先在服务器执行ssh-kegen,一路回车

或ssh-keygen -t rsa -C " your_email@example.com "

完成后会在、root/.ssh下生产公钥秘钥文件

将公钥追加到authorized_keys

cat rsa_pub>>authorized_keys

将秘钥复制到本地,

找到puttygen来生成ppk文件

打开puttygen,点击load,选择所有文件, 选择 id_rsa文件,Save private key,保存秘钥

然后登录页面选择这个秘钥文件就可以,后面登录就不用了再输入密码了

win10现在貌似已经默认安装了openshh,可以直接用来ssh登录

也可以配置成免密登录

win10命令行执行ssh-keygen生成公钥以及秘钥

公钥放到服务器目录root/.ssh,和1一样的方式

生成的时候如果选择不是默认目录,则需要添加下秘钥

管理员身份打开powershell

执行下列命令

cd 到秘钥所在路径

get-service ssh-agent| set-servers-startuptype manaul

startservices sshagent

get-servcies sshagent

ssh-add s_sra

power shell也要深入学习下了,很多有用的功能

然后,执行ssh root@192.168.0.102

直接就可以登录到服务器了,

做个bat或ps1脚本,把ssh这句写入,就可以实现双击直接登录了,

ssh-keygen 命令 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。SSH 密钥默认保留在 ~/.ssh 目录中。如果没有 ~/.ssh 目录,ssh-keygen命令会使用正确的权限创建一个。

执行完命令后,会有几个选项给你选择,一般来说直接回车,使用默认配置即可。需要注意的是, 如果本身服务器已经生成过ssh秘钥了,这一步可以省略

想知道秘钥曾经生成过,可以看步骤二。

正常来说,如果 ssh-keygen 命令执行成功,我们可以在目录中看到有 id_rsa (存放私钥)和 id_rsa.pub (存放公钥)两个文件

先简单介绍一下 ssh-copy-id 命令

ssh-copy-id 命令可以把本地主机的公钥复制到远程主机的 authorized_keys 文件上。authorized_keys 文件用来验证 client 。使用 ssh-copy-id 命令将本地公钥复制到远程主机之后可以实现免密登录远程主机。如果不传入 -i 参数, ssh-copy-id 使用默认 ~/.ssh/identity.pub 作为默认公钥。 如果多次运行 ssh-copy-id ,该命令不会检查重复,会在远程主机中多次写入 authorized_keys 。

注意,本地 ~/.ssh/id_rsa 的权限,chmod 400 ~/.ssh/id_rsa ,该文件包含用于授权的私钥, 如果该文件可以被其他用户访问,ssh 会忽略该私钥。

执行完上述命令后,我们后续就可以免密登录其他服务器了。

如果需要配置免密登录的服务器比较多,我们可以通过脚本来解决这些重复性的动作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8948829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存