1.首先使用想要发起ssh免密访问的用户A登录Linux(简称客户端Linux)
2.进入该用户的家目录(cd ~),看是否有.ssh文件夹(linux中以.开头文件夹是隐藏的,使用ll -a进行查看),如果没有则创建(mkdir ~/.ssh),并修改访问权限(chmod 700 ~/.ssh);
3.生成公钥和私钥,命令:ssh-keygen -t rsa。一路回车下去,中途会提示然你输入passphrase,这个是对私钥的加密密码,防止别人登录到你的这个用户,看到你的私钥。命令执行结束后会在.ssh目录生成两个文件id_rsa(私钥)和id_rsa.pub(公钥),生成的密钥长度默认为2048位。
如果是window,则要把密钥(只放私钥其实就可以)放在如下位置
-------------------------
4.进入想要免密进行ssh登录的户B的Linux服务器所在的家目录(简称服务器端Linux)
5.将第3步的公钥发送并复制到.ssh目录下,并改名为authorized_keys
(方法有很多,比如使用scp id_rsa.pub 用户B@IP地址或域名:/home/.ssh/authorized_keys)
6.然后就可以测试一下是否配置成功,在用户A上执行:ssh 用户B@IP地址或域名
(ssh指定端口号命令格式:ssh -p 端口号 用户@IP地址或域名)
原理:非对称加密,公钥用来加密,私钥用来解密