<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>&#x5982;&#x4F55;&#x64CD;&#x4F5C; &amp; &#x6700;&#x4F73;&#x8F6F;&#x4EF6;</provider_name><provider_url>https://howto.ping.fm/zh/</provider_url><author_name>zamozhnii</author_name><author_url>https://howto.ping.fm/zh/</author_url><title>&#x7406;&#x89E3;SSH&#x516C;&#x94A5;&#x8BA4;&#x8BC1;&#xFF1A;&#x6982;&#x8FF0;&#x548C;&#x521B;&#x5EFA;SSH&#x516C;&#x94A5;&#x6307;&#x5357;</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="uz9NjdApor"&gt;&lt;a href="https://howto.ping.fm/zh/how-does-ssh-key-authentication-work/"&gt;SSH&#x516C;&#x94A5;&#x8BA4;&#x8BC1;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;&#xFF1F;&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://howto.ping.fm/zh/how-does-ssh-key-authentication-work/embed/#?secret=uz9NjdApor" width="600" height="338" title="&#x201C;SSH&#x516C;&#x94A5;&#x8BA4;&#x8BC1;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;&#xFF1F;&#x201D; &#x2014; &#x5982;&#x4F55;&#x64CD;&#x4F5C; &amp; &#x6700;&#x4F73;&#x8F6F;&#x4EF6;" data-secret="uz9NjdApor" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/**
 * WordPress inline HTML embed
 *
 * @since 4.4.0
 * @output wp-includes/js/wp-embed.js
 *
 * This file cannot have ampersands in it. This is to ensure
 * it can be embedded in older versions of WordPress.
 * See https://core.trac.wordpress.org/changeset/35708.
 */
(function ( window, document ) {
	'use strict';

	var supportedBrowser = false,
		loaded = false;

		if ( document.querySelector ) {
			if ( window.addEventListener ) {
				supportedBrowser = true;
			}
		}

	/** @namespace wp */
	window.wp = window.wp || {};

	if ( !! window.wp.receiveEmbedMessage ) {
		return;
	}

	/**
	 * Receive embed message.
	 *
	 * @param {MessageEvent} e
	 */
	window.wp.receiveEmbedMessage = function( e ) {
		var data = e.data;

		if ( ! data ) {
			return;
		}

		if ( ! ( data.secret || data.message || data.value ) ) {
			return;
		}

		if ( /[^a-zA-Z0-9]/.test( data.secret ) ) {
			return;
		}

		var iframes = document.querySelectorAll( 'iframe[data-secret="' + data.secret + '"]' ),
			blockquotes = document.querySelectorAll( 'blockquote[data-secret="' + data.secret + '"]' ),
			allowedProtocols = new RegExp( '^https?:$', 'i' ),
			i, source, height, sourceURL, targetURL;

		for ( i = 0; i &lt; blockquotes.length; i++ ) {
			blockquotes[ i ].style.display = 'none';
		}

		for ( i = 0; i &lt; iframes.length; i++ ) {
			source = iframes[ i ];

			if ( e.source !== source.contentWindow ) {
				continue;
			}

			source.removeAttribute( 'style' );

			/* Resize the iframe on request. */
			if ( 'height' === data.message ) {
				height = parseInt( data.value, 10 );
				if ( height &gt; 1000 ) {
					height = 1000;
				} else if ( ~~height &lt; 200 ) {
					height = 200;
				}

				source.height = height;
			}

			/* Link to a specific URL on request. */
			if ( 'link' === data.message ) {
				sourceURL = document.createElement( 'a' );
				targetURL = document.createElement( 'a' );

				sourceURL.href = source.getAttribute( 'src' );
				targetURL.href = data.value;

				/* Only follow link if the protocol is in the allow list. */
				if ( ! allowedProtocols.test( targetURL.protocol ) ) {
					continue;
				}

				/* Only continue if link hostname matches iframe's hostname. */
				if ( targetURL.host === sourceURL.host ) {
					if ( document.activeElement === source ) {
						window.top.location.href = data.value;
					}
				}
			}
		}
	};

	function onLoad() {
		if ( loaded ) {
			return;
		}

		loaded = true;

		var isIE10 = -1 !== navigator.appVersion.indexOf( 'MSIE 10' ),
			isIE11 = !!navigator.userAgent.match( /Trident.*rv:11\./ ),
			iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ),
			iframeClone, i, source, secret;

		for ( i = 0; i &lt; iframes.length; i++ ) {
			/** @var {IframeElement} */
			source = iframes[ i ];

			secret = source.getAttribute( 'data-secret' );
			if ( ! secret ) {
				/* Add secret to iframe */
				secret = Math.random().toString( 36 ).substr( 2, 10 );
				source.src += '#?secret=' + secret;
				source.setAttribute( 'data-secret', secret );
			}

			/* Remove security attribute from iframes in IE10 and IE11. */
			if ( ( isIE10 || isIE11 ) ) {
				iframeClone = source.cloneNode( true );
				iframeClone.removeAttribute( 'security' );
				source.parentNode.replaceChild( iframeClone, source );
			}

			/*
			 * Let post embed window know that the parent is ready for receiving the height message, in case the iframe
			 * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the
			 * window will then (re-)send the height message right away.
			 */
			source.contentWindow.postMessage( {
				message: 'ready',
				secret: secret
			}, '*' );
		}
	}

	if ( supportedBrowser ) {
		window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
		document.addEventListener( 'DOMContentLoaded', onLoad, false );
		window.addEventListener( 'load', onLoad, false );
	}
})( window, document );
&lt;/script&gt;
</html><thumbnail_url>https://www.ping.fm/howto/wp-content/uploads/2024/04/How-Does-SSH-Public-Key-Authentication-Work-Chinese.jpg</thumbnail_url><thumbnail_width>1280</thumbnail_width><thumbnail_height>731</thumbnail_height><description>SSH &#x516C;&#x94A5;&#x8BA4;&#x8BC1;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;&#xFF1F; &#x5B89;&#x5168;&#x5916;&#x58F3;&#xFF08;SSH&#xFF09;&#x516C;&#x94A5;&#x8BA4;&#x8BC1;&#x662F;&#x4E00;&#x79CD;&#x7BA1;&#x7406;&#x8BBE;&#x5907;&#x95F4;&#x5B89;&#x5168;&#x901A;&#x4FE1;&#x7684;&#x5F3A;&#x5927;&#x5DE5;&#x5177;&#x3002;&#x5B83;&#x5229;&#x7528;&#x4E00;&#x5BF9;&#x52A0;&#x5BC6;&#x5BC6;&#x94A5;&#x5EFA;&#x7ACB;&#x7F51;&#x7EDC;&#x8FDE;&#x63A5;&#xFF0C;&#x5728;&#x4E0D;&#x4EA4;&#x6362;&#x5BC6;&#x7801;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#x786E;&#x8BA4;&#x8EAB;&#x4EFD;&#x3002;&#x5F53;&#x6211;&#x5BFB;&#x627E;&#x4E00;&#x79CD;&#x6BD4;&#x57FA;&#x4E8E;&#x5BC6;&#x7801;&#x7684;&#x767B;&#x5F55;&#x66F4;&#x5B89;&#x5168;&#x7684;&#x66FF;&#x4EE3;&#x65B9;&#x6848;&#x4EE5;&#x8BBF;&#x95EE;&#x670D;&#x52A1;&#x5668;&#x65F6;&#xFF0C;&#x6211;&#x5F00;&#x59CB;&#x4E86;SSH&#x516C;&#x94A5;&#x8BA4;&#x8BC1;&#x4E4B;&#x65C5;&#x3002;&#x501F;&#x9274;&#x4E2A;&#x4EBA;&#x7ECF;&#x9A8C;&#xFF0C;&#x6211;&#x5C06;&#x6307;&#x5BFC;&#x60A8;&#x4E86;&#x89E3;&#x8FD9;&#x79CD;&#x8BA4;&#x8BC1;&#x673A;&#x5236;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;&#xFF0C;&#x5E76;&#x63D0;&#x4F9B;&#x5B9E;&#x7528;&#x6B65;&#x9AA4;&#xFF0C;&#x8BA9;&#x60A8;&#x81EA;&#x5DF1;&#x5B9E;&#x73B0;&#x5B83;&#x3002; 1 &#x5E38;&#x89C1;&#x573A;&#x666F;&#xFF1A; &#x9700;&#x8981;&#x5B89;&#x5168;&#x8FDC;&#x7A0B;&#x8BBF;&#x95EE; &#x1F6E1; &#x7ECF;&#x5E38;&#x8BBF;&#x95EE;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x9700;&#x8981;&#x907F;&#x514D;&#x4F7F;&#x7528;&#x5BC6;&#x7801;&#x6240;&#x5E26;&#x6765;&#x7684;&#x98CE;&#x9669;&#x3002; &#x5E0C;&#x671B;&#x81EA;&#x52A8;&#x5316;&#x90A3;&#x4E9B;&#x65E0;&#x9700;&#x4EBA;&#x5DE5;&#x5E72;&#x9884;&#x7684;&#x4F7F;&#x7528;SSH&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x5982;&#x811A;&#x672C;&#x6216;&#x6301;&#x7EED;&#x96C6;&#x6210;&#x7CFB;&#x7EDF;&#x3002; &#x7EF4;&#x62A4;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#x4E14;&#x9700;&#x8981;&#x5728;&#x4E0D;&#x964D;&#x4F4E;&#x5B89;&#x5168;&#x6027;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#x7B80;&#x5316;&#x767B;&#x5F55;&#x6D41;&#x7A0B;&#x3002; &#x81EA;&#x52A8;&#x5316;&#x90E8;&#x7F72;&#x548C;&#x64CD;&#x4F5C; &#x1F916; &#x5B9E;&#x65BD;&#x81EA;&#x52A8;&#x5316;&#x90E8;&#x7F72;&#x6D41;&#x7A0B;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x5FC5;&#x987B;&#x4F7F;&#x7528;&#x50CF;Git&#x8FD9;&#x6837;&#x7684;&#x7248;&#x672C;&#x63A7;&#x5236;&#x7CFB;&#x7EDF;&#x8FDB;&#x884C;&#x8EAB;&#x4EFD;&#x9A8C;&#x8BC1;&#x3002; &#x914D;&#x7F6E;SSH&#x5BC6;&#x94A5;&#xFF0C;&#x4F7F;&#x81EA;&#x52A8;&#x5316;&#x5DE5;&#x5177;&#x4E0E;&#x751F;&#x4EA7;&#x670D;&#x52A1;&#x5668;&#x4E4B;&#x95F4;&#x5EFA;&#x7ACB;&#x5B89;&#x5168;&#x8FDE;&#x63A5;&#x3002; &#x4FBF;&#x6377;&#x5730;&#x8FDB;&#x884C;&#x8FDC;&#x7A0B;&#x8BCA;&#x65AD;&#x548C;&#x7EF4;&#x62A4;&#x64CD;&#x4F5C;&#xFF0C;&#x6700;&#x5C0F;&#x5316;&#x624B;&#x52A8;&#x767B;&#x5F55;&#x9700;&#x6C42;&#x3002; &#x589E;&#x5F3A;&#x4E2A;&#x4EBA;&#x5B89;&#x5168;&#x59FF;&#x6001; &#x1F510; &#x4E2A;&#x4EBA;&#x503E;&#x5411;&#x4E8E;&#x5728;&#x7BA1;&#x7406;SSH&#x8FDE;&#x63A5;&#x7684;&#x654F;&#x611F;&#x6570;&#x636E;&#x65F6;&#x91C7;&#x53D6;&#x66F4;&#x591A;&#x5B89;&#x5168;&#x63AA;&#x65BD;&#x3002; &#x589E;&#x52A0;&#x5BF9;&#x9493;&#x9C7C;&#x653B;&#x51FB;&#x6216;&#x5BC6;&#x7801;&#x76D7;&#x7A83;&#x7684;&#x9632;&#x8303;&#x63AA;&#x65BD;&#x3002; &#x901A;&#x8FC7;&#x6D88;&#x9664;&#x5BB9;&#x6613;&#x53D7;&#x5230;&#x66B4;&#x529B;&#x653B;&#x51FB;&#x7684;&#x5BC6;&#x7801;&#x8FD9;&#x4E00;&#x5F31;&#x70B9;&#xFF0C;&#x51CF;&#x5C11;&#x653B;&#x51FB;&#x9014;&#x5F84;&#x3002; 2 &#x5206;&#x6B65;&#x6307;&#x5357;&#x3002;SSH &#x5BC6;&#x94A5;&#x8BA4;&#x8BC1;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#xFF1A; &#x65B9;&#x6CD5; 1: &#x751F;&#x6210; SSH &#x5BC6;&#x94A5;&#x5BF9; &#x1F6E0; &#x4F7F;&#x7528;&#x50CF; ssh-keygen &#x8FD9;&#x6837;&#x7684;&#x547D;&#x4EE4;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5B89;&#x5168;&#x5916;&#x58F3;&#xFF08;SSH&#xFF09;&#x5BC6;&#x94A5;&#x5BF9;&#x3002; &#x9009;&#x62E9;&#x6240;&#x9700;&#x7684;&#x5BC6;&#x94A5;&#x7B97;&#x6CD5;&#xFF0C;RSA &#x6216; ED25519 &#x662F;&#x6D41;&#x884C;&#x7684;&#x9009;&#x62E9;&#x3002; &#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x5B89;&#x5168;&#x7684;&#x77ED;&#x8BED;&#xFF0C;&#x8FD9;&#x4E3A;&#x60A8;&#x7684;&#x5BC6;&#x94A5;&#x6DFB;&#x52A0;&#x4E86;&#x4E00;&#x4E2A;&#x989D;&#x5916;&#x7684;&#x5B89;&#x5168;&#x5C42;&#x3002; &#x4FDD;&#x5B58;&#x751F;&#x6210;&#x7684;&#x516C;&#x94A5;&#x548C;&#x79C1;&#x94A5;&#x5230;&#x6307;&#x5B9A;&#x4F4D;&#x7F6E;&#x3002; &#x521B;&#x5EFA;&#x60A8;&#x79C1;&#x94A5;&#x7684;&#x5B89;&#x5168;&#x5907;&#x4EFD;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x662F;&#x60A8;&#x7684;&#x8EAB;&#x4EFD;&#x8BC1;&#x660E;&#xFF0C;&#x7EDD;&#x4E0D;&#x5E94;&#x8BE5;&#x5171;&#x4EAB;&#x3002; &#x6CE8;&#x610F;&#xFF1A;&#x516C;&#x94A5;&#x53EF;&#x4EE5;&#x5171;&#x4EAB;&#xFF0C;&#x5E76;&#x7528;&#x4E8E;&#x60A8;&#x5E0C;&#x671B;&#x8BBF;&#x95EE;&#x7684;&#x670D;&#x52A1;&#x5668;&#x4E0A;&#xFF0C;&#x800C;&#x79C1;&#x94A5;&#x4FDD;&#x7559;&#x5728;&#x60A8;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x673A;&#x5668;&#x4E0A;&#xFF0C;&#x7531;&#x77ED;&#x8BED;&#x4FDD;&#x62A4;&#x3002; &#x65B9;&#x6CD5; 2: &#x5C06;&#x516C;&#x94A5;&#x590D;&#x5236;&#x5230;&#x670D;&#x52A1;&#x5668; &#x1F680; &#x4F7F;&#x7528; ssh-copy-id&#xFF0C;&#x4E00;&#x4E2A;&#x5728;&#x670D;&#x52A1;&#x5668;&#x7684;authorized_keys&#x6587;&#x4EF6;&#x4E2D;&#x5B89;&#x88C5;&#x60A8;&#x516C;&#x94A5;&#x7684;&#x811A;&#x672C;&#x3002; &#x6267;&#x884C; ssh-copy-id user@hostname&#xFF0C;&#x63D2;&#x5165;&#x60A8;&#x7684;&#x7528;&#x6237;&#x540D;&#x548C;&#x60A8;&#x5E0C;&#x671B;&#x8BBF;&#x95EE;&#x7684;&#x4E3B;&#x673A;&#x3002; &#x5728;&#x63D0;&#x793A;&#x65F6;&#x8F93;&#x5165;&#x60A8;&#x7684;&#x5BC6;&#x7801;&#xFF0C;&#x4EE5;&#x5B8C;&#x6210;&#x590D;&#x5236;&#x8FC7;&#x7A0B;&#x3002; &#x9A8C;&#x8BC1;&#x60A8;&#x7684;&#x516C;&#x94A5;&#x662F;&#x5426;&#x5DF2;&#x901A;&#x8FC7;&#x624B;&#x52A8;&#x68C0;&#x67E5;&#x670D;&#x52A1;&#x5668;&#x4E0A;&#x7684; ~/.ssh/authorized_keys &#x6587;&#x4EF6;&#x6B63;&#x786E;&#x6DFB;&#x52A0;&#x3002; &#x6CE8;&#x610F;&#xFF1A;&#x8FD9;&#x4E00;&#x6B65;&#x81F3;&#x5173;&#x91CD;&#x8981;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x5EFA;&#x7ACB;&#x4E86;&#x60A8;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x673A;&#x5668;&#x548C;&#x670D;&#x52A1;&#x5668;&#x4E4B;&#x95F4;&#x7684;&#x4FE1;&#x4EFB;&#x5173;&#x7CFB;&#xFF0C;&#x4EE5;&#x7528;&#x4E8E;&#x672A;&#x6765;&#x7684;&#x8FDE;&#x63A5;&#x3002; &#x65B9;&#x6CD5; [&hellip;]</description></oembed>
