sshd免密登录
方法一:
使用如下命令可以为本服务器生成公钥(id_dsa.pub)和私钥(Id_dsa),要求输入passphrased的时候直接敲回车:
ssh-keygen -t dsa -f ~/.ssh/id_dsa
再使用下面的命令,将公钥文件复制成authorized_keys文件:
cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys
在客户端上生成公钥和私钥的步骤基本完成,使用ssh命令登录本机不会再要求输入密码(如果是第一次登录会要求确认是否继续连接)
复制公钥文件id_dsa.pub到需要ssh登录的服务器
root为登录从服务器的用户名,server-2为要ssh登录的服务器的名称,可以根据自己情况进行修改
server-1.pub是配置文件的名字,名字可以随意起
scp ~/.ssh/id_dsa.pub root@server-2:~/.ssh/server-1.pub
输入此命令后,会要求输入服务器的root账号密码,输入密码即可
这里我们使用ssh命令,在客户端上远程操作,命令如下,root为登录从服务器的用户名,server-2为从服务器的名称,server-1.pub为我们上一步生成的文件,请根据自己实际情况修改:
ssh root@server-2 "cat ~/.ssh/server-1.pub>>~/.ssh/authorized_keys"
输入此命令后,会要求输入服务器的root账号密码,输入密码即可
如果不出问题,此时server-1服务就可以通过SSH免密码访问服务器了
方法二:
相对于方法一,方法二更加便捷
首先进入~/.ssh/,若没有./ssh目录,先执行一次ssh localhost
cd ~/.ssh/
生成公私密钥,id_dsa为私钥,id_dsa.pub为公钥,生成密钥时,会有提示,都按回车即可
ssh-keygen -t rsa
彼此发送密钥
ssh-copy-id +ip地址