客户端通过SSH免密码登录及执行服务器命令
大体上可以归纳为2步:
客户端上生成当前用户的密钥对
主机上添加客户端用户的公钥
1 在客户端某用户上生成密钥对
ssh-keygen -t 算法 -P 密码 -f 密钥文件名
或者
执行ssh-keygen -t 算法(rsa,dsa)
一路回车生成默认即可。
示例:
产生RSA密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
或 DSA密钥对
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
2把生成的id_rsa.pub内容 添加到主机某用户上的~/.ssh/authorized_keys文件中
如果主机无~/.ssh目录,请自行添加mkdir ~/.ssh,
设置~/.ssh权限为0700
chmod 0700 ~/.ssh
在客户端上直接执行/usr/bin/ssh-copy-id -i 公钥文件名 用户@主机
根据提示输入yes和主机用户密码,回车
或者
拷贝id_rsa.pub到主机上,添加公钥文件到authorized_keys,
执行cat id_rsa.pub >> ~/.ssh/authorized_keys
示例:
客户端上执行
/usr/bin/ssh-copy-id -i ~/.ssh/id_rsa.pub cluster@192.168.50.50
输入yes
输入主机密码
测试: