SSH免密登录

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
posted @ 2018-02-22 21:30  Suraer  阅读(314)  评论(0编辑  收藏  举报