如何使ssh登陆时不用输入密码
使用SSH无需输入密码的方法是使用公钥认证。公钥认证是一种身份验证方法,它使用公钥和私钥的对称加密算法来实现安全的远程登录。公钥认证的原理是:客户端(本地)生成一对公钥和私钥,将公钥发送到服务器(远程),服务器端保存客户端的公钥,当客户端想要登录服务器时,服务器会使用客户端的公钥对客户端发送的信息进行加密,客户端收到加密信息后,使用自己的私钥解密,如果能够解密,说明是客户端发送的,就允许客户端登录服务器。
要实现SSH无需输入密码登录,需要在客户端和服务器端分别生成公钥和私钥,然后将客户端的公钥传输到服务器端,服务器端保存客户端的公钥,当客户端想要登录服务器时,服务器会使用客户端的公钥对客户端发送的信息进行加密,客户端收到加密信息后,使用自己的私钥解密,如果能够解密,说明是客户端发送的,就允许客户端登录服务器,这样就可以实现SSH无需输入密码登录了。
实现SSH无需输入密码登录的具体步骤如下:
- 在客户端和服务器端分别生成公钥和私钥,具体命令如下:
客户端:ssh-keygen -t rsa
服务器端:ssh-keygen -t rsa - 将客户端的公钥传输到服务器端,具体命令如下:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname - 修改服务器端的ssh配置文件,具体命令如下:
vi /etc/ssh/sshd_config
将RSAAuthentication yes改为yes,将PubkeyAuthentication yes改为yes,将PasswordAuthentication yes改为no,保存退出。 - 重启ssh服务,具体命令如下:
service sshd restart
相关文章