一、ssh-keygen生成默认公钥私钥名称(id_rsa; id_rsa.pub)情况下
1、在mac客户机命令行下创建公钥私钥对(-P表示密码,''表示空密码)
kirogi$ ssh-keygen -t rsa -P ''
2、上传公钥id_rsa.pub文件到服务端.ssh文件目录下
kirogi$ scp ~/.ssh/id_rsa.pub root@xxx.xx.xxx.xx:/root/.ssh/
3、在服务端.ssh文件下,若无authorized_keys文件,则创建
~# touch authorized_keys
4、服务端复制上传的公钥id_rsa.pub到authorized_keys文件
cat /root/.ssh/id_rsa.pub >> authorized_keys
5、id_rsa(.ssh)权限设置
chmod 644 authorized_keys
chmod 700 ~/.ssh/
注:权限设置不能图省事,要保证.ssh和authorized_keys只有用户自己有些权限,不然验证无效(目录及文件权限太大,为了保证安全,数字签名不支持)
6、若出现错误:Agent admitted failure to sign using the key
ssh-add ~/.ssh/id_rsa
7、测试
ssh localhost
二、ssh-keygen生成自定义公钥私钥名称(master; master.pub)情况下
1、在mac客户机命令行下创建公钥私钥对(-P表示密码,''表示空密码)
kirogi$ ssh-keygen -t rsa -P ''
2、在~/.ssh/文件夹下创建并配置config文件(为了找到私钥)
#Localhost
Host localhost //别名
HostName 127.0.0.1 //主机名(IP)
Port 22 //端口号
User hadoop //用户名
IdentityFile ~/.ssh/master //私钥文件路径
2、上传公钥master.pub文件到服务端.ssh文件目录下
kirogi$ scp ~/.ssh/master.pub root@xxx.xx.xxx.xx:/root/.ssh/
3、在服务端.ssh文件下,若无authorized_keys文件,则创建
~# touch authorized_keys
4、服务端复制上传的公钥master到authorized_keys文件
cat /root/.ssh/master.pub >> authorized_keys
5、masterr(.ssh)权限设置
chmod 644 authorized_keys
chmod 700 ~/.ssh/
注:权限设置不能图省事,要保证.ssh和authorized_keys只有用户自己有些权限,不然验证无效(目录及文件权限太大,为了保证安全,数字签名不支持)
6、若出现错误:Agent admitted failure to sign using the key
ssh-add ~/.ssh/master
7、测试
ssh localhost