diff --git a/_posts/Linux/ssh/ssh-password-free-login.md b/_posts/Linux/ssh/ssh-password-free-login.md index 1ca865d..f8ec8aa 100644 --- a/_posts/Linux/ssh/ssh-password-free-login.md +++ b/_posts/Linux/ssh/ssh-password-free-login.md @@ -18,14 +18,10 @@ SSH 密钥登录分为以下的步骤。 5. 客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器。 6. 服务器收到客户端发来的加密签名后,使用对应的公钥解密。若解密后数据一致,则允许用户登录。 - - - ## 生成公/私密钥 ```sh # 我这边是linux windows 系统可以在当前用户文件目录下自行创建该文件夹 cd ~/.ssh - # 生成密钥 可使用-t参数,指定密钥的加密算法。默认RSA 其他算法可以搜索了解一下 然后一路回车即可 # 中间有询问是否要为私钥文件设定密码保护(passphrase)相当于二次密码保护默认可以不需要 ssh-keygen @@ -49,7 +45,6 @@ ssh-copy-id -i pub_key_file user@host 上面命令中,-i参数用来指定公钥文件,user是所要登录的账户名,host是服务器地址。如果省略用户名,默认为当前的本机用户名。执行完该命令,公钥就会拷贝到服务器。 - ## 配置config 配置config目的在于简化ssh登录命令,在当前用户 `~/.ssh/` 新建config文本 若存在无需创建。 @@ -69,20 +64,16 @@ Host zyimm ### HostName - 需要ssh连接过去的主机名,一般是IP地址。 ### User - 登录主机的用户名 ### IdentityFile - 认证证书文件,默认位置是~/.ssh/id_rsa, ~/ssh/id_dsa等,如果采用默认的证书,可以不用设置此参数,除非你的证书放在某个自定义的目录,那么你就需要设置该参数来指向你的证书 ### Port - SSH访问主机的端口号,默认是22端口,同上,只有在非默认情况下才需要设置该值 @@ -102,7 +93,6 @@ systemctl restart sshd.service /etc/init.d/ssh restart ``` - ## 调试 如果在上面步骤操作完之后,仍然出现一些问题,可以在命令中带上-v以便定位问题