山顶上的梧桐树 發表於 2022-4-18 09:42:00

Linux操作系统如何使用SSH命令连接另外一台Linux服务器

<h2>前言</h2>
<p>1、linux服务器下一般都会安装<strong>ssh服务</strong>,<span style="color: rgba(255, 0, 0, 1)"><strong>ssh服务可以建立安全的远程连接</strong></span>,方便日常通过一台linux设备维护其他的服务器设备。</p>
<div>
<div>2、SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。</div>
<div>3、SSH之所以能够保证安全,原因在于它采用了公钥加密。整个过程是这样的:</div>
<div>
<div class="cnblogs_code">
<pre>(1<span style="color: rgba(0, 0, 0, 1)">)远程主机收到用户的登录请求,把自己的公钥发给用户。
(</span>2<span style="color: rgba(0, 0, 0, 1)">)用户使用这个公钥,将登录密码加密后,发送回来。
(</span>3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。</pre>
</div>
</div>
</div>
<h2>安装SSH服务</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">1、如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:
sudo yum install sshd 或
sudo yum install openssh</span>-<span style="color: rgba(0, 0, 0, 1)">server(由osc网友 火耳提供)

2、如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:
sudo apt</span>-<span style="color: rgba(0, 0, 255, 1)">get</span><span style="color: rgba(0, 0, 0, 1)"> install sshd 或
sudo apt</span>-<span style="color: rgba(0, 0, 255, 1)">get</span> install openssh-<span style="color: rgba(0, 0, 0, 1)">server(由osc网友 火耳提供)

然后按照提示,安装就好了。</span></pre>
</div>
<p>由于本机在之前就已经安装好了SSH服务,所以提示如下:</p>
<p><img src="https://img2022.cnblogs.com/blog/2289881/202204/2289881-20220418093146937-1569352766.png"></p>
<h2>开启SSH服务</h2>
<div class="cnblogs_code">
<pre>service sshd start</pre>
</div>
<p>执行命令结果如下:</p>
<p><img src="https://img2022.cnblogs.com/blog/2289881/202204/2289881-20220418093344586-1343415066.png"></p>
<h2>卸载SSH服务</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">1、如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:
</span><span style="color: rgba(0, 0, 255, 1)">yum</span><span style="color: rgba(0, 0, 0, 1)"> remove sshd<br>
2、如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get –purge remove sshd</pre>
</div>
<p>执行命令结果如下:</p>
<p><img src="https://img2022.cnblogs.com/blog/2289881/202204/2289881-20220418093521296-1553651543.png"></p>
<h2>Linux操作系统从一台服务器SSH远程连接至另一台服务器</h2>
<h3>示例1</h3>
<p>直接连接远程主机端口</p>
<p>前提条件:</p>
<p>两台服务器A、B;当前所在位置:服务器A;SSH服务已安装。</p>
<p>判断:</p>
<p>在服务器A中执行命令&nbsp;<span class="cnblogs_code"><span style="color: rgba(0, 0, 255, 1)">ping</span> B的IP地址</span> ,在能ping通的前提条件下</p>
<p>进入服务器A后,输入:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">ssh</span> -l 主机名 IP</pre>
</div>
<ol>
<li>主机名:要跳转的Linux服务器的主机名</li>
<li>IP:要跳转的Linux服务器的ip地址</li>
</ol>
<p>或者:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">ssh</span> 用户名@服务器地址</pre>
</div>
<p>然后回车输入服务器B的用户密码就可以跳转到另一台服务器B。如&nbsp;<span class="cnblogs_code"><span style="color: rgba(0, 0, 255, 1)">ssh</span> root@<span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span></span>&nbsp;</p>
<h3>示例2</h3>
<p>1、假定你要以用户名user,登录远程主机host,只要一条简单命令:</p>
<div class="cnblogs_code">
<pre>$ <span style="color: rgba(0, 0, 255, 1)">ssh</span> username@remote_host <br>如:<span style="color: rgba(0, 0, 255, 1)">ssh</span> pika@<span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.111</span></pre>
</div>
<p>2、如果本地主机用户名与远程主机用户名一致,登录时可以省略用户名:</p>
<div class="cnblogs_code">
<pre>$ <span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)"> remote_host
如:</span><span style="color: rgba(0, 0, 255, 1)">ssh</span> <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">0.111</span></pre>
</div>
<p>3、SSH服务的默认端口是22:你的登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口。(指定端口连接)</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">ssh</span> username@remote_host -p <span style="color: rgba(128, 0, 128, 1)">2222</span><span style="color: rgba(0, 0, 0, 1)">
如:$ </span><span style="color: rgba(0, 0, 255, 1)">ssh</span> user@host -p <span style="color: rgba(128, 0, 128, 1)">2222</span>   该条命令表示,ssh直接连接远程主机的2222端口。</pre>
</div>
<p>4、第一次登录远程主机:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">如果你是第一次登录对方主机

$ </span><span style="color: rgba(0, 0, 255, 1)">ssh</span> root@<span style="color: rgba(128, 0, 128, 1)">12.18</span>.<span style="color: rgba(128, 0, 128, 1)">429.21</span><span style="color: rgba(0, 0, 0, 1)">

系统会出现下面的提示::

The authenticity of host </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">host (12.18.429.21)</span><span style="color: rgba(128, 0, 0, 1)">'</span> can<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t be established.</span>
<span style="color: rgba(0, 0, 0, 1)">
RSA key fingerprint is </span><span style="color: rgba(128, 0, 128, 1)">98</span>:2e:d7:e0:de:9f:ac:<span style="color: rgba(128, 0, 128, 1)">67</span>:<span style="color: rgba(128, 0, 128, 1)">28</span>:c2:<span style="color: rgba(128, 0, 128, 1)">42</span>:2d:<span style="color: rgba(128, 0, 128, 1)">37</span>:<span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">58</span><span style="color: rgba(0, 0, 0, 1)">:4d.

Are you sure you want to continue connecting (yes</span>/no)?<span style="color: rgba(0, 0, 0, 1)">

这段话的意思是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?

所谓</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">公钥指纹</span><span style="color: rgba(128, 0, 0, 1)">"</span>,是指公钥长度较长(这里采用RSA算法,长达1024位),很难比对,所以对其进行MD5计算,将它变成一个128位的指纹。上例中是98:2e:d7:e0:de:9f:ac:<span style="color: rgba(128, 0, 128, 1)">67</span>:<span style="color: rgba(128, 0, 128, 1)">28</span>:c2:<span style="color: rgba(128, 0, 128, 1)">42</span>:2d:<span style="color: rgba(128, 0, 128, 1)">37</span>:<span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">58</span><span style="color: rgba(0, 0, 0, 1)">:4d,再进行比较,就容易多了。

很自然的一个问题就是,用户怎么知道远程主机的公钥指纹应该是多少?回答是没有好办法,远程主机必须在自己的网站上贴出公钥指纹,以便用户自行核对。

假定经过风险衡量以后,用户决定接受这个远程主机的公钥。

Are you sure you want to continue connecting (yes</span>/no)?<span style="color: rgba(0, 0, 0, 1)"> yes

系统会出现一句提示,表示host主机已经得到认可。

Warning: Permanently added </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">host,12.18.429.21</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> (RSA) to the list of known hosts.

然后,会要求输入密码。

Password: (enter password)

如果密码正确,就可以登录了。

当远程主机的公钥被接受以后,它就会被保存在文件$HOME</span>/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>/<span style="color: rgba(0, 0, 0, 1)">known_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分,直接提示输入密码。

每个SSH用户都有自己的known_hosts文件,此外系统也有一个这样的文件,通常是</span>/etc/<span style="color: rgba(0, 0, 255, 1)">ssh</span>/ssh_known_hosts,保存一些对所有用户都可信赖的远程主机的公钥。</pre>
</div>
<h3>示例3</h3>
<p>1、使用密码登录,用户每次都必须输入密码,非常麻烦。好在SSH还提供了公钥登录,可以省去输入密码的步骤。</p>
<div>
<div>2、所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。</div>
3、这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用&nbsp;<span class="cnblogs_code"><span style="color: rgba(0, 0, 255, 1)">ssh-keygen</span></span>&nbsp;命令生成一个:</div>
<div>运行上面的命令以后,系统会出现一系列提示,可以一路回车。其中有一个问题是,要不要对私钥设置口令(passphrase),如果担心私钥的安全,这里可以设置一个。</div>
<p><img src="https://img2022.cnblogs.com/blog/2289881/202206/2289881-20220623094705926-812029543.png"></p>
<p>运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。&nbsp;</p>
<p><img src="https://img2022.cnblogs.com/blog/2289881/202206/2289881-20220623095047939-4098033.png"></p>
<p>4、这时再输入下面的命令,将公钥传送到远程主机host上面:</p>
<div class="cnblogs_code">
<pre>$ <span style="color: rgba(0, 0, 255, 1)">ssh</span>-copy-<span style="color: rgba(0, 0, 255, 1)">id</span> user@host</pre>
</div>
<p>好了,从此你再登录,就不需要输入密码了。</p>
<p>5、如果还是不行,就打开远程主机的&nbsp;<span class="cnblogs_code">/etc/<span style="color: rgba(0, 0, 255, 1)">ssh</span>/sshd_config</span>&nbsp;这个文件,检查下面几行前面"#"注释是否取掉。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .</span><span style="color: rgba(0, 0, 255, 1)">ssh</span>/authorized_keys</pre>
</div>
<p>然后,重启远程主机的ssh服务:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> ubuntu系统</span>
<span style="color: rgba(0, 0, 0, 1)">
service </span><span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)"> restart

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> debian系统</span>

/etc/init.d/<span style="color: rgba(0, 0, 255, 1)">ssh</span> restart</pre>
</div>
<h3>示例4</h3>
<p>通过密钥连接:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">ssh</span> -i path/to/key_file username@remote_host</pre>
</div>
<h3>示例5</h3>
<p>ssh跳板:通过跳板机器连接远程主机;多个跳板使用逗号隔开</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">ssh</span> -J username@jump_host username@remote_host</pre>
</div>
<h2>实例</h2>
<p>本实例的客户端和服务端均为Ubuntu操作系统。</p>
<p>ssh客户端:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">用户名(user_name): alpha
IP地址(client_ip): </span>192.168.0.33</pre>
</div>
<p>ssh服务端:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">用户名(user_name): omega
IP地址(server_ip): </span>119.9.90.190</pre>
</div>
<h3>ssh服务器远程登录</h3>
<h4>1 普通登录:&nbsp;<code>ssh user_name@server_ip</code></h4>
<div class="cnblogs_code">
<pre> :~$ <span style="color: rgba(0, 0, 255, 1)">ssh</span> omega@<span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)">
输入omega@</span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90</span><span style="color: rgba(0, 0, 0, 1)">.190的密码:
loading omega@</span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)"> ...
welcome</span>!<span style="color: rgba(0, 0, 0, 1)">
:</span>~$ </pre>
</div>
<h4>2 免ip登录:&nbsp;<code>ssh Host</code></h4>
<h5>2.1 客户端alpha用户进入隐藏ssh目录</h5>
<div class="cnblogs_code">
<pre> :~$ cd ~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)">
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">pwd</span>
/home/exia/.<span style="color: rgba(0, 0, 255, 1)">ssh</span> </pre>
</div>
<h5>2.2 新建/修改config文件:&nbsp;<code>sudo vim config</code></h5>
<p data-pid="T4oqS-us">config文件单元构成:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">Host: 登录名
</span>----<span style="color: rgba(0, 0, 0, 1)">HostName: 将要登录ssh服务器ip
</span>----<span style="color: rgba(0, 0, 0, 1)">User: 将要登录服务器用户名
</span>----Port: 将要登录服务器端口</pre>
</div>
<p data-pid="skpjDXi1">config文件中可以设置多个Host:</p>
<div class="cnblogs_code">
<pre> :~$ <span style="color: rgba(0, 0, 255, 1)">cat</span><span style="color: rgba(0, 0, 0, 1)"> config
Host omi
    HostName </span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)">
    User omega
    Port </span><span style="color: rgba(128, 0, 128, 1)">22</span><span style="color: rgba(0, 0, 0, 1)">

Host theroot
   HostName </span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)">
    User root
    Port </span><span style="color: rgba(128, 0, 128, 1)">22</span></pre>
</div>
<h5>2.3 实现免ip登录</h5>
<div class="cnblogs_code">
<pre> :~$ <span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)"> omi

输入omega@</span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90</span><span style="color: rgba(0, 0, 0, 1)">.190的密码:
loading omega@</span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)"> ...
welcome</span>!<span style="color: rgba(0, 0, 0, 1)">

:</span>~$ </pre>
</div>
<h4>3 免密登录:&nbsp;<code>ssh -i id_rsa Host</code>&nbsp;和&nbsp;<code>ssh Host</code></h4>
<h5>3.1 客户端alpha用户进入隐藏ssh目录</h5>
<h5>3.2 生成ssh登录密钥与公钥(若之前未生成)&nbsp;</h5>
<div class="highlight">
<div class="cnblogs_code">
<pre> :~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
config
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">ssh-keygen</span><span style="color: rgba(0, 0, 0, 1)">
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
configid_rsaid_rsa.pub</span></pre>
</div>
<h5>3.3 将公钥发送给需要免密登录的服务器的用户</h5>
<div class="cnblogs_code">
<pre> :~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">ssh</span>-copy-<span style="color: rgba(0, 0, 255, 1)">id</span> omega@<span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span>;<span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ssh-copy-id omi 也行</span><span style="color: rgba(128, 0, 0, 1)">"</span>
<span style="color: rgba(0, 0, 255, 1)">ssh</span>-copy-<span style="color: rgba(0, 0, 255, 1)">id</span><span style="color: rgba(0, 0, 0, 1)"> omi 也行
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">开始免密登录</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
# 开始免密登录
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)">$
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)">$
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">ssh</span> -<span style="color: rgba(0, 0, 0, 1)">i id_rsa omi
loading omega@</span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)"> ...
welcome</span>!<span style="color: rgba(0, 0, 0, 1)">

:</span>~$ cd ~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)">
:</span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
authorized_keys</span></pre>
</div>
<p>此时,<code> :~/.ssh/authorized_keys&nbsp;</code>中已经存放了<code> :~/.ssh/id_rsa.pub</code>中的公钥了。</p>
<p>当然直接打开<code> :~/.ssh/id_rsa.pub</code>&nbsp;将其中的内容复制粘贴到&nbsp;<code> :~/.ssh/authorized_keys</code>&nbsp;中最后一行也是可以的。</p>
</div>
<h5>3.4 最后, 在config文件中各Host的最后添加<code>IdentityFile ~/.ssh/id_rsa</code>:</h5>
<div class="cnblogs_code">
<pre> :~$ <span style="color: rgba(0, 0, 255, 1)">cat</span><span style="color: rgba(0, 0, 0, 1)"> config
Host omi
    HostName </span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)">
    User omega
    Port </span><span style="color: rgba(128, 0, 128, 1)">22</span><span style="color: rgba(0, 0, 0, 1)">
    IdentityFile </span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>/<span style="color: rgba(0, 0, 0, 1)">id_rsa

Host theroot
   HostName </span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)">
    User root
    Port </span><span style="color: rgba(128, 0, 128, 1)">22</span><span style="color: rgba(0, 0, 0, 1)">
    IdentityFile </span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>/id_rsa</pre>
</div>
<p>即可进一步简化ssh远程登录命令:</p>
<div class="cnblogs_code">
<pre> :~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>$ <span style="color: rgba(0, 0, 255, 1)">ssh</span><span style="color: rgba(0, 0, 0, 1)"> omi
loading omega@</span><span style="color: rgba(128, 0, 128, 1)">119.9</span>.<span style="color: rgba(128, 0, 128, 1)">90.190</span><span style="color: rgba(0, 0, 0, 1)"> ...
welcome</span>!<span style="color: rgba(0, 0, 0, 1)">

:</span>~$ </pre>
</div>
<p data-pid="32zGIFkF">如果服务端相应免密用户的密码或是用户名有更改, 需要对客户端中对应用户~/.ssh下:</p>
<div>(1)修改config中Host的信息<br>(2)删除<code>known hosts</code>文件</div>
<h3>&nbsp;</h3>
<p>&nbsp;</p>
<h3>补充1:不用输入ssh -i命令行即可携带pem文件快速登录的方法</h3>
<p>1、如果要登录的Linux服务器只允许pem认证。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">ssh</span> -i ~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>/id_rsa.pub azureuser@<span style="color: rgba(128, 0, 128, 1)">10.111</span>.<span style="color: rgba(128, 0, 128, 1)">12.123</span></pre>
</div>
<p>其中的 &nbsp;<span class="cnblogs_code">-i </span>&nbsp;选项表明,选择一个和公钥匹配的私钥文件路径。默认是~/.ssh/id_rsa。</p>
<p>2、但是每次输入&nbsp;<span class="cnblogs_code"><span style="color: rgba(0, 0, 255, 1)">ssh</span> -i xxxx.pem 用户@ip 地址</span>&nbsp;&nbsp; 就很烦。</p>
<p>3、有个一劳永逸的方法:</p>
<p>进入到自己的用户目录,例如/home/me</p>
<p>把.pem文件放在当前目录</p>
<p>然后vi .ssh/config</p>
<p>内容如下:</p>
<div class="cnblogs_code">
<pre>Host *<span style="color: rgba(0, 0, 0, 1)">
      ServerAliveInterval </span><span style="color: rgba(128, 0, 128, 1)">60</span><span style="color: rgba(0, 0, 0, 1)">
Host denglu
      HostName 你的ip
      User mojie
      IdentityFile    </span>~/.<span style="color: rgba(0, 0, 255, 1)">ssh</span>/你的pem文件名.pem</pre>
</div>
<p>保存后,更改权限:&nbsp;<span class="cnblogs_code"><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">chmod</span> <span style="color: rgba(128, 0, 128, 1)">600</span> key.pem </span>&nbsp;</p>
<p>然后在当前目录/home/me下输入&nbsp; ssh denglu</p>
<p>即可登录到目标服务器。再也不用每次输入长长的命令了</p>
<h3>补充2:Linux操作系统中的路径符号</h3>
<p><img src="https://img2022.cnblogs.com/blog/2289881/202206/2289881-20220623100305140-2101043131.png"></p>
<h3>补充3:&nbsp;<span class="cnblogs_code">exit</span>&nbsp;退出远程连接服务器,回到本机的命令终端</h3>
<p><img src="https://img2022.cnblogs.com/blog/2289881/202209/2289881-20220922143253118-1107541336.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>文章主要转载自:https://www.jianshu.com/p/10023495fba9</p>

</div>
<div id="MySignature" role="contentinfo">
    去期待陌生,去拥抱惊喜。<br><br>
来源:https://www.cnblogs.com/hls-code/p/16158324.html
頁: [1]
查看完整版本: Linux操作系统如何使用SSH命令连接另外一台Linux服务器