ssh 无密码登录实现方法
本机 192.168.1.24
远程 192.168.2.3
远程 192.168.2.3
1、在本机上执行ssh-keygen -t rea
root@ubuntu:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ## 此处是生成秘钥的位置和文件名,默认为用户家目录下 的.ssh目录下的id_rsa私钥文件和id_rsa.pub公钥文件。也可以自己指定秘钥位置和文件名,但是要写全路径, 如/root/.ssh/ubuntu24_id_rsa 这样生成的文件为/root/.ssh 目录下ubuntu24_id_rsa和ubuntu24_id_rsa.pub之后的默认回车即可,秘钥文件即可生成。
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ## 此处是生成秘钥的位置和文件名,默认为用户家目录下 的.ssh目录下的id_rsa私钥文件和id_rsa.pub公钥文件。也可以自己指定秘钥位置和文件名,但是要写全路径, 如/root/.ssh/ubuntu24_id_rsa 这样生成的文件为/root/.ssh 目录下ubuntu24_id_rsa和ubuntu24_id_rsa.pub之后的默认回车即可,秘钥文件即可生成。
2、将公钥文件拷贝到远程服务器上,使用ssh-copy-id 命令。
root@ubuntu:~# ssh-copy-id -i /root/.ssh/id_rsa.pub
root@192.168.1.3
root@192.168.1.3's password: ##输入远程服务器root密码
root@192.168.1.3's password: ##输入远程服务器root密码
3、在本机上测试无密码登录
-i 参数是指定本机私钥文件,即使用哪个私钥文件登录远程服务器。
4、在非默认的22端口时上传密码方法
cat ~/.ssh/id_dsa.pub | ssh 远程用户名@远程服务器ip -p 端口号 'cat >> ~/.ssh/authorized_keys'
##注意要用 >> 重定向到文件末尾。(不要使用 > 符号这样会覆盖原先的内容)
##注意要用 >> 重定向到文件末尾。(不要使用 > 符号这样会覆盖原先的内容)
5、如果登录不成功可能原因
(1)检查生成秘钥和上传时是否正确
(2)检查远程服务器的.ssh目录和authorized_keys文件权限,建议作如下修改
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
(3)检查配置文件的几个参数是否开启,修改配置文件有重启ssh服务
RSAAuthentication yes
PubkeyAuthentication yes
(2)检查远程服务器的.ssh目录和authorized_keys文件权限,建议作如下修改
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
(3)检查配置文件的几个参数是否开启,修改配置文件有重启ssh服务
RSAAuthentication yes
PubkeyAuthentication yes
转载于:https://blog.51cto.com/wxc2014/1147510