赵敬训 發表於 2019-9-14 13:37:00

【原】linux两台服务器之间免密登录方法

<p>搭建集群机器192.168.0.100和192.168.0.200里,需要两台机器中间相互拷贝文件:</p>
<p>方式一:下载192.168.0.100机器文件到本地,再将本地文件拷贝到B机器</p>
<p>方式二:192.168.0.100#scp&nbsp; -r /home/test&nbsp; root@192.168.0.200:/home/</p>
<p>linux命令scp可以在两台服务器192.168.0.100和192.168.0.200之间互传文件。第一次会提示授权操作,输入yes后在输入root用户的密码,会将192.168.0.100机器的/home/test文件拷贝到192.168.0.200机器的/home下。</p>
<p>&nbsp;</p>
<p>现每次192.168.0.100和192.168.0.200之间互传文件都要输入密码比较麻烦,现介绍一种采用公钥/私钥认证的方式去掉密码登录。</p>
<p>注意点:</p>
<p>1.互传文件为同一登录用户root</p>
<p>2.秘钥存放位置为当前登录用户下 #cd ~/.ssh&nbsp; 可查看</p>
<p>&nbsp;</p>
<h2>一:创建一个ssh key</h2>
<div class="cnblogs_code">
<pre>192.168.0.100机器执行如下代码:<br><br>$ ssh-keygen -t rsa -C <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">your_email@example.com</span><span style="color: rgba(128, 0, 0, 1)">"</span> -t rsa-test</pre>
</div>
<p><span style="font-family: &quot;Microsoft YaHei&quot;">代<span style="font-size: 14px">码中各个参数含义为:</span></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 14px">-t 指定密钥类型,默认是 rsa ,可以省略</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 14px">-C 设置注释文字,比如邮箱,可以忽略</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 14px">-f 指定密钥文件存储文件名,使用默认文件名(推荐);那么</span><span style="font-family: &quot;Microsoft YaHei&quot;">可以看到生成的两个文件&nbsp;<code>id_rsa</code>&nbsp;&nbsp;<code>id_rsa.pub(<code>id_rsa</code>这个叫私钥;<code>id_rsa.pub</code>这个叫公钥)</code></span></p>
<p><em><em><em>&nbsp;</em></em></em></p>
<p>接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),</p>
<p>当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:</p>
<div class="cnblogs_code">
<pre>Enter passphrase (empty for no passphrase):
# Enter same passphrase again:</pre>
</div>
<p>接下来,就会显示如下代码提示,如:</p>
<div class="cnblogs_code">
<pre>Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com</pre>
</div>
<p>当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。</p>
<p>&nbsp;</p>
<h2>二:将机器192.168.0.100上的公钥发送到机器192.168.0.200的~.ssh/authorized_keys里</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 0, 128, 1)">服务器为:192.168.0.100<br>192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span># scp/home/root/.ssh/id_rsa.pubroot@<span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.200</span>:/home/root/.ssh</pre>
</div>
<div class="cnblogs_code">
<pre>服务器为:<span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.200</span>
<span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.200</span>#cd ~/<span style="color: rgba(0, 0, 0, 1)">.ssh
</span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.200</span>#cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys</pre>
</div>
<p>注意:如192.168.0.200机器的/home/root/.ssh下存在id_rsa.pub会将文件内容覆盖,因此我们可以将新公钥进行文件的追加。</p>
<h2>&nbsp;</h2>
<h2>三:执行复制操作</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.100</span>#scp-r /home/testroot@<span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.200</span>:/home/</pre>
</div>
<p>如还需要密码,则在192.168.0.200服务器里的<code>/etc/ssh/sshd_config</code>文件,关键字<code>PubkeyAuthentication</code>&nbsp;确保这个值是&nbsp;<code>yes;</code>若这个<code>sshd_config</code>有修改,则需要重启sshd(#service sshd restart)</p>
<p>&nbsp;</p>
<h2>四:权限问题</h2>
<p><span style="font-family: &quot;Microsoft YaHei&quot;"><code>192.168.0.200服务器里查看:</code></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;"><code>/home/root</code>文件夹的权限为 700,即 显示的权限应该是&nbsp;<code>drwx------</code></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;"><code>/home/root/.ssh</code>文件夹的权限也为700</span><br><span style="font-family: &quot;Microsoft YaHei&quot;"><code>/home/root/.ssh/authorized_keys</code>&nbsp;文件权限为600,即,显示的权限应该是&nbsp;<code>-rw-------</code></span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;">&nbsp;完毕之后,退出服务器的登录,再使用ssh登录,你就会发现服务器不会再向你询问密码了.</span></p>
<p>&nbsp;</p>
<h2>五:调试</h2>
<p>192.168.0.100# ssh admin@192.168.0.200 -vvv</p>
<p>&nbsp;</p>
<p><em id="__mceDel"><em id="__mceDel">六:问题总结</em></em></p>
<div class="cnblogs_code">
<pre><strong>目标机器配置SSH<br></strong><em id="__mceDel"><br>#vi /etc/ssh/<span style="color: rgba(0, 0, 0, 1)">sshd_config
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">更改为下面行</span>
<span style="color: rgba(0, 0, 0, 1)">PermitRootLogin yes
#systemctl restart sshd </span></em></pre>
</div>
<p>&nbsp;</p>
<p><em id="__mceDel"><em id="__mceDel">https://community.qingcloud.com/topic/1140/%E5%85%B3%E4%BA%8Essh%E6%97%A0%E6%B3%95%E7%99%BB%E9%99%86%E7%9A%84%E6%8E%92%E6%9F%A5%E6%80%9D%E8%B7%AF</em></em></p>
<p><em id="__mceDel"><em id="__mceDel">https://blog.csdn.net/menghuanbeike/article/details/78958015&nbsp;</em></em></p><br><br>
来源:https://www.cnblogs.com/HYanqing/p/11518969.html
頁: [1]
查看完整版本: 【原】linux两台服务器之间免密登录方法