微软信仰中心 2018-02-22
ssh使用密钥进行认证可以实现免密登录。
执行以下命令:
ssh-keygen
进入交互模式后可以不设置密钥存放路径和设置密码,直接按回车即可。此时会在当前用户的家目录下的.ssh目录下生成密钥文件,即公钥文件id_rsa.pub和私钥文件id_rsa。
默认采用的是rsa算法,也可以指定其它的算法。
接下来就是把生成的公钥交给想要连接的主机,如下:
ssh-copy-id -i /home/suraer/.ssh/id_rsa.pub [email protected]
上述命令把当前密钥交给192.33.0.10主机的suraerone用户,如果不指定用户则默认是当前主机的用户,即suraer用户。
上述命令把公钥放在了192.33.0.10主机的/home/suraerone/.ssh/authorized_keys文件中。当然也可以不用上述命令,手动将公钥复制到目标地址也可以。
接下来便可以使用ssh进行无密登录了:
ssh [email protected]
同样如果不指定用户则默认是当前主机的用户。
生成密钥:
ssh-keygen
指定密钥生成位置和名称:
ssh-keygen -f /home/suraer/id_rsa
使用指定密钥连接:
ssh -i /home/suraer/id_rsa [email protected]
生成密钥对并设置密码:
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 [email protected]