Linux 实现ssh免密登录--设置后不生效的处理办法
程序员文章站
2022-05-31 11:14:14
...
- 登录Linux进入/home/app/.ssh/目录下
- 执行ssh-****** -t rsa 创建**,一直回车即可,红框是输入密码,因为是免密所以直接回车略过;执行完之后会在/root/.ssh/下生成两个文件id_rsa、id_rsa.pub分别为私钥和公钥。如果对**长度有限制的话可以执行
ssh-****** -t rsa -b 4096
- 把生成的公钥文件id_rsa.pub下载、上传到目标服务器上,也可以直接通过命令
ssh-copy-id -i /home/app/.ssh/id_rsa.pub [email protected] #命令默认端口是22 # 在192.168.131.13 机器上.ssh 目录下,会出现authorized_keys
登录目标服务器,相同的目录/root/.ssh/下查看有没有authorized_keys文件,没有的话需要创建一个,命令是 touch authorized_keys ,创建后授权600 ,把公钥文件id_rsa.pub追加到authorized_keys文件中,命令是
这样就可以使用命令登录131.13服务器了cat 192.168.131.7.pub >> authorized_keys
ssh [email protected] # 是不是不需要设置密码呢
-
有些同学发现自己的和网上说的咋不一样,怎么还是让输入密码???
下面说一下哈
#1.查看 .ssh 的目录权限是不是700 #2.authorized_keys权限是不是600 #3.查看下远程机器app用户的目录权限是不是755
再试一下,OK了吧!!!
-
其他事情1
vi /etc/ssh/sshd_config PasswordAuthentication no //禁止使用基于口令认证的方式登陆 PubkeyAuthentication yes //允许使用基于**认证的方式登陆 /etc/init.d/sshd reload
-
其他事情2
普通用户切换到root权限且无需输入密码,在root模式下进行以下操作 visudo //最后一行加入 Cmnd_Alias SU = /bin/su oper ALL = (root) NOPASSWD: SU
上一篇: Linux命令之netstat
下一篇: Linux之netstat命令