sshd基于密钥的认证

两台主机之间经过密钥实现免密码登陆
sshd认证方式:
1.基于口令的认证;
2.基于密钥的认证;公钥认证,把密钥放在用户家目录下的.ssh目录下
客户端:
# ssh-keygen -t rsa 生成rsa密钥
-t type
    Specifies the type of key to create.
    默认密钥在家目录.ssh目录下为id_rsa私钥,id_rsa.pub公钥
-f /path/to/somefile: 密钥文件保存位置,生成屡次的话,能够指定其余名字
-P ‘’:指定oldpassword
     Provides the (old) passphrase.
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub username@hostIP
<==>  若是没有ssh-copy-id,则经过以下方法
# ls -ld .ssh/     注意权限
drwx------ 2 root root 4096 Jun 21 11:12 .ssh/
ssh username@hostIP 'umask 0077;mkdir /root/.ssh'  服务器端没有.ssh目录则建立
scp .ssh/id_rsa.pub username@hostIP:/root/.ssh/authorized_keysshell

完整过程描述
基于密钥方式远程登陆过程:
1.在客户端生成密钥对
#ssh-keygen -t rsa
2.把公钥复制到服务器端
#ssh-copy-id -i .ssh/id_rsa.pub username@hostIP
等价方法
# ls -ld .ssh/     注意权限
drwx------ 2 root root 4096 Jun 21 11:12 .ssh/
# ssh username@hostIP ‘umask 0077; mkdir /root/.ssh’
# scp .ssh/id_rsa.pub username@hostIP:/root/.ssh/authorized_keys
3.客户端登陆时
# ssh username@hostIP
能够不用输入密码了
所谓“公钥登陆”,就是用户将本身的公钥存储在远程主机上,登陆的时候,远程主机会向用户发送一段随机字符串,用户用本身的私钥加密后,再发回去。远程主机用事先存储的公钥进行解密,若是成功,就证实用户是可信的,直接容许登陆shell,再也不要求密码。服务器

相关文章
相关标签/搜索