欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

SSH免密登录

程序员文章站 2022-04-24 16:05:02
ssh使用密钥进行认证可以实现免密登录。 生成私钥和公钥 执行以下命令: 进入交互模式后可以不设置密钥存放路径和设置密码,直接按回车即可。此时会在当前用户的家目录下的.ssh目录下生成密钥文件,即公钥文件id_rsa.pub和私钥文件id_rsa。 默认采用的是rsa算法,也可以指定其它的算法。 接 ......

ssh使用密钥进行认证可以实现免密登录。

生成私钥和公钥

执行以下命令:

ssh-keygen

进入交互模式后可以不设置密钥存放路径和设置密码,直接按回车即可。此时会在当前用户的家目录下的.ssh目录下生成密钥文件,即公钥文件id_rsa.pub和私钥文件id_rsa。
默认采用的是rsa算法,也可以指定其它的算法。

接下来就是把生成的公钥交给想要连接的主机,如下:

ssh-copy-id -i /home/suraer/.ssh/id_rsa.pub suraerone@192.33.0.10

上述命令把当前密钥交给192.33.0.10主机的suraerone用户,如果不指定用户则默认是当前主机的用户,即suraer用户。
上述命令把公钥放在了192.33.0.10主机的/home/suraerone/.ssh/authorized_keys文件中。当然也可以不用上述命令,手动将公钥复制到目标地址也可以。

接下来便可以使用ssh进行无密登录了:

ssh suraerone@192.33.0.10

同样如果不指定用户则默认是当前主机的用户。

相关命令

生成密钥:

ssh-keygen

指定密钥生成位置和名称:

ssh-keygen -f /home/suraer/id_rsa

使用指定密钥连接:

ssh -i /home/suraer/id_rsa suraer@192.33.0.10

生成密钥对并设置密码:

ssh-keygen -P '123456' -f /home/suraer/id_rsa

为私钥添加密码,取消密码,修改密码

ssh-keygen -f /home/suraer/id_rsa -p

生成指定类型的密钥,ssh2协议支持的密钥类型有dsa,ecdsa,ed25519,rsa

ssh-keygen -t dsa -P '' -f /home/suraer/id_dsa

生成指定位数的密钥:

ssh-keygen -t rsa -b 1024 -P '' /home/suraer/id_rsa

根据私钥生成公钥:

ssh-keygen -f /home/suraer/id_rsa -y

根据私钥生成公钥,重定向到文件:

ssh-keygen -f /home/suraer/id_rsa -y > id_rsa.pub

将公钥交给指定主机的账户:

ssh-copy-id -i ~/.ssh/id_rsa.pub suraer@192.33.0.10