Linux服务器之间怎么样SSH不需密码
2个回答
展开全部
软硬件环境:
两台linux服务器A和B
1。分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入
passphase时打入两次回车。这将生成/root/.ssh/identity and/root/.ssh/identity.pub 2。 先测试一下,从A登录作为root,打入#ssh B,会要求提示root password。
3。 现在从A登录作为root,运行scp /root/.ssh/identity.pubB:/root/.ssh/authorized_keys。
文件名必须不能弄错。
4。现在再从A运行#ssh B则不需要密码了:) 基本原理: 1。 如果你希望从A作为用户user1 SSH 到B 作为用户user2,若要用RSA键对法认证且不需要密码,则B上的ssh后台程序拿出~user2/.ssh/authorized_keys中的与A有关的RSA公钥来对A上的以user1身份运行的ssh客户程序进行挑战,前面我们已经把A上的identity.pub拷贝到B上作为authorized_keys了。则A保持私钥identity,而B上的sshd又拿出A的公钥来挑战,因此成功,你可以加很多行到authorized_keys以允许其它服务器的公钥可以加进来。
常见应用举例:
1。 在A上以用户rootSSH到B上作为普通用户user而不是root,因为为了安全,有时不需要作为root,只需要作为普通用户不需要密码以完成相应工作即可。
登录作为root在A上
A# scp /root/.ssh/identity.pub href="mailto:user@B:/home/user/.ssh/authorized_keys">user@B:/home/user/.ssh/authorized_keys 2. tar一批文件从A到B。
A# tar cvf - /etc | ( ssh B tar xvf -) 3. 运行A上的cronjob,对某文件作改动后传到B
0 1 * * * cat /etc/shadow | awk -F: '{print $1":"$2}' | (ssh B 'cat >/home/passwd') 常见问题: 1。 这种方式的SSH需要B上的sshd_config中允许直接的root login (PermitRootLoginyes).
a. 要A上运行ssh-keygen时输入passphase字。
b. 要登录到A上后运行A#ssh-agent bash
c. 再运行ssh-add加passphase进入内存
Storm代理
2023-06-05 广告
2023-06-05 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询