1銆係SH鐨勫伐浣滃師鐞嗕笅闈㈣璇磗sh鐨勫姞瀵嗘柟寮忋€傝涓嬫枃馃憞1.1銆傚绉板姞瀵嗗鎴风鍜屾湇鍔$浣跨敤鐩稿悓鐨勫瘑閽ュ鏁版嵁杩涜鍔犲瘑鍜岃В瀵嗭紝寰堥毦淇濊瘉瀵嗛挜涓嶄涪澶便€佷笉琚嫤鎴€備腑闂翠汉鏀诲嚮鐨勯殣鎮e鏋滄敾鍑昏€呬粙鍏ョ敤鎴蜂笌杩滅▼涓绘満涔嬮棿锛堝鍦ㄥ叕鍏眞ifi鍖哄煙锛夛紝骞朵娇鐢ㄤ吉閫犵殑鍏挜鑾峰彇鐢ㄦ埛鐨勭櫥褰曞瘑鐮併€傜劧鍚庣敤杩欎釜瀵嗙爜鐧诲綍杩滅▼涓绘満锛岄偅涔圫SH鐨勫畨鍏ㄦ満鍒跺氨涓嶅瓨鍦ㄤ簡銆傝繖绉嶉闄╁氨鏄憲鍚嶇殑鈥滀腑闂翠汉鏀诲嚮鈥濓紙Man-in-the-middleattack锛夈€備负浜嗚В鍐冲绉板姞瀵嗙殑婕忔礊锛屽嚭鐜颁簡闈炲绉板姞瀵嗐€傞潪瀵圭О鍔犲瘑鏈変袱涓瘑閽ワ細鈥滃叕閽モ€濆拰鈥滅閽モ€濄€傜敤鍏挜鍔犲瘑鐨勫瘑鏂囧彧鑳界敤瀵瑰簲鐨勭閽ヨВ瀵嗐€備粠鍏挜鎺ㄥ鍑虹閽ュ嚑涔庢槸涓嶅彲鑳界殑锛屾墍浠ラ潪瀵圭О鍔犲瘑鐨勫畨鍏ㄦ€ф瘮杈冮珮銆?.2.闈炲绉板姞瀵唖sh杩炴帴杩滅▼git浠撳簱鏃剁殑鐧诲綍楠岃瘉鍘熺悊锛氭湰鍦颁富鏈哄悜杩滅▼涓绘満鍙戦€佺櫥褰曡姹傦紝杩滅▼涓绘満鏀跺埌璇锋眰鍚庤繑鍥炰竴涓殢鏈哄瓧绗︿覆A缁欐湰鍦颁富鏈猴紝鏈湴涓绘満鐢ㄧ閽鍔犲瘑瀛楃涓插緱鍒板瘑鏂嘊锛屽皢瀵嗘枃B鍙戦€佺粰杩滅▼涓绘満銆傝繙绋嬩富鏈虹敤鍏挜瑙e瘑瀵嗘枃A寰楀埌瀛楃涓睟锛屽垽鏂瑼涓嶣鏄惁鐩哥瓑锛岃嫢鐩哥瓑鍒欒璇佹垚鍔熴€傚惁鍒欙紝鍙嶄箣浜︾劧銆備笉鍐嶉渶瑕佷娇鐢ㄥ瘑鐮佺櫥褰曪紝浠ュ叕绉侀挜鐨勫舰寮忓疄鐜板厤瀵嗙櫥褰曘€?.3.鍙湁鍦ㄩ娆¤繛鎺ユ椂鎵嶉渶瑕佸熀浜庡瘑鐮佸拰鍏挜鐨勮韩浠介獙璇併€傛湇鍔″櫒鐢ㄤ簬韬唤楠岃瘉鐨勫叕閽ャ€傦紙閫氳繃鏈嶅姟绔叕閽ュ姞瀵嗭紝瀹㈡埛绔閽ヨВ瀵嗛獙璇侊級棣栨鐧诲綍锛氬鏋滀笉鏄涓€娆$櫥褰曪紝鎯崇湅鏁堟灉锛屽彲浠ヤ慨鏀规湰鍦扮殑~/.ssh/known_hosts鏂囦欢鍚嶏紙~/.ssh/known_hosts鏂囦欢淇濆瓨璁よ瘉鍏挜淇℃伅锛夛紝閲嶅懡鍚嶆枃浠跺悗鐩稿綋浜庢竻闄よ璇佸叕閽ヤ俊鎭紝鍐嶆杩炴帴鏃朵細閲嶆柊璁よ瘉馃榿馃榿ssh杩炴帴鍒拌繙绋嬩富鏈?gitclonegit@gitcode.net:xxx.gitCloninginto'xxx'...鏃犳硶纭畾涓绘満'gitcode.net(119.3.229.170)'鐨勭湡瀹炴€с€俁SA瀵嗛挜鎸囩汗涓篠HA256:pyrMa3p0o90Qsuz2+kMX3CIBl+S1cZsdRlCoaosSg00Qs銆傛偍纭畾瑕佺户缁繛鎺ュ悧锛堟槸/鍚?[鎸囩汗]锛夛紵鏄鍛婏細灏嗏€済itcode.net,119.3.229.170鈥?RSA)姘镐箙娣诲姞鍒板凡鐭ヤ富鏈哄垪琛ㄤ腑銆傛煡鐪媖nown_hosts鏂囦欢#鏌ョ湅known_hosts鏂囦欢$catknown_hostsgitcode.net,119.3.229.170ssh-rsaAAAAB3NzaC1yc2EAAAL......鐢变簬鍏挜闀垮害杈冮暱锛堜娇鐢≧SA绠楁硶锛夛紝姣旇緝鍥伴毦锛屾墍浠ョ粡杩嘙D5璁$畻鍚庡彉鎴?28浣嶇殑Fingerprints锛屾瘮濡傛寚绾癸紝姣旇緝璧锋潵灏辨柟渚垮浜嗐€傚綋杩滅▼涓绘満鐨勫叕閽ヨ鎺ュ彈鍚庯紝浼氭案涔呬繚瀛樺湪鏂囦欢~/.ssh/known_hosts涓紝涓嬫鐧诲綍鏃朵細璺宠繃涓婇潰warning閮ㄥ垎鐨勬簮缃戠粶锛岄厤缃负涓嬮潰鐨勫涓富鏈恒€俿sh杩炴帴鏃跺浣曟寚瀹氫娇鐢ㄥ摢涓叕閽ヤ綔涓哄叆鍙g偣锛岃瑙shconfig銆傝璇濇竻妤氾紝鐪嬭捣鏉ュ緢閰凤紒2.澶氫唬鐮佸簱閰嶇疆ssh杩炴帴闂SSH鏄繛鎺ヨ繙绋嬩富鏈烘渶甯哥敤鐨勬柟寮忋€傝櫧鐒惰繛鎺ュ埌鍗曚釜涓绘満鐨勫熀鏈搷浣滈潪甯哥畝鍗曪紝浣嗘槸褰撲綘寮€濮嬩娇鐢ㄥぇ閲忕殑杩滅▼绯荤粺鏃讹紙渚嬪锛氶厤缃涓唬鐮佹墭绠″钩鍙皊sh锛夛紝杩欏氨鍙樻垚浜嗕竴椤圭箒鐞愬鏉傜殑宸ヤ綔銆傚垢杩愮殑鏄紝OpenSSH鍏佽鎮ㄦ彁渚涜嚜瀹氫箟瀹㈡埛绔繛鎺ラ€夐」銆傝繖浜涢€夐」鍙互瀛樺偍鍦ㄤ竴涓厤缃枃浠朵腑锛岃鏂囦欢鍙敤浜庡畾涔夋瘡涓富鏈虹殑閰嶇疆銆傝繖鏈夊姪浜庢洿濂藉湴鍒嗙鍜岀粍缁囨瘡涓富鏈虹殑杩炴帴閫夐」锛岃繕鍙互璁╂偍閬垮厤鍦ㄩ渶瑕佽繛鎺ユ椂鍦ㄥ懡浠よ涓婄紪鍐欑箒鐞愮殑閫夐」銆傜洰鍓嶆垜浣跨敤鐨勪唬鐮佹墭绠″钩鍙版湁GitHub銆丟itee銆丟itlab銆丟itcode锛堟姌鑵攫煈€锛夈€傚嵆浣挎垜鍙敤涓€涓钩鍙帮紝姣斿gitlab锛屽叕鍙歌处鍙峰拰涓汉璐﹀彿鐨剆sh閰嶇疆杩樻槸浼氬嚭鐜伴棶棰樸€備笅闈㈣鏄巗sh杩炴帴杩滅▼涓绘満鏃跺浣曟寚瀹氫娇鐢ㄥ摢涓叕閽ヤ笅闈㈢殑灞曠ず閮芥槸鍦╓indows绯荤粺涓?.sshconfig鑷畾涔変富鏈洪厤缃?.1銆乻shconfig浠嬬粛瑙e喅浣跨敤澶氫釜sshkeys闂鐨勬渶浣虫柟妗堟槸閫氳繃缁存姢鏈湴閰嶇疆configkey鏉ユ寚瀹氫娇鐢ㄥ摢涓富鏈恒€傚叾浠栬В鍐虫柟娉曪細锛堝鏋滈渶瑕佽繛鎺ョ殑涓绘満澶锛屼篃寰堥毦绠$悊锛屼笉寤鸿浣跨敤锛屼簡瑙e嵆鍙級璁剧疆鐜鍙橀噺GIT_SSH_COMMAND瑙e喅鎸囧畾鍛戒护琛屽弬鏁帮細ssh-i~/.ssh/xxx.pub-p22www.example.com鐢ㄦ埛绾ц缃矾寰勶細~/.ssh/config3.1.1锛屾枃浠舵牸寮廐ostfirsthostSSH_OPTIONS_1custom_valueSSH_OPTIONS_2custom_valueSSH_OPTIONS_3custom_valueHostsecondhostANOTHER_OPTIONcustom_valueHost*hostANOTHER_OPTIONcustom_value#甯哥敤閰嶇疆鍦ㄦ渶涓嬮潰Host*CHANGE_DEFAULTconnection:Host*CHANGE_DEFAULTshconnection:customhost鐨勫埆鍚嶆槸alias3.1.2銆傚皾璇曚竴涓嬫湰鍦扮郴缁熺殑姣忎釜鐢ㄦ埛閮藉彲浠ョ淮鎶や竴涓鎴风SSH閰嶇疆鏂囦欢銆傝繖涓厤缃枃浠跺彲浠ュ寘鍚綘鍦ㄥ懡浠よ涓娇鐢╯sh鏃剁殑鍙傛暟锛屼篃鍙互瀛樺偍鍏叡杩炴帴閫夐」骞跺湪杩炴帴鏃惰繛鎺ュ畠浠€傝嚜鍔ㄥ鐞嗐€傛偍鍙互浣跨敤ssh鍦ㄥ懡浠や笂鎸囧畾鏍囧織浠ヨ鐩栭厤缃枃浠朵腑鐨勯€夐」銆傜湅涓緥瀛愶細ssh鍛戒护琛岀殑鏂瑰紡锛歴sh-i~/.ssh/xxx-p22-ladmin\www.example.com涓婇潰鐨勫懡浠ゅ彲浠ヨ浆鎹㈡垚config鐨勫舰寮忥紝濡備笅锛歴sh/config瀹氫箟涓绘満杩炴帴鍙傛暟ConfigureHostmyserver1Hostnamewww.example.com#UseradminPort22IdentityFile~/.ssh/xxx#publicconfiguration蹇呴』鍦ㄦ枃浠跺簳閮℉ost*Useradmin3.2锛岃鏄庣畻娉曞惂浠庢枃浠堕《閮ㄥ紑濮嬫墽琛屾鎿嶄綔锛屽洜姝ら『搴忛潪甯搁噸瑕併€備簡瑙d簡杩欎竴鐐癸紝鏂逛究鎴戜滑缂栧啓鏇村ソ鐨勪富鏈哄畾涔夐厤缃€夐」锛屾柟渚胯繍缁寸鐞嗐€傚綋鍖归厤鍒扮涓€涓猦ost瀹氫箟鏃讹紝瀹冧笉浼氱粓姝紝鑰屾槸缁х画鍚戜笅鎼滅储锛屾鏌ユ槸鍚﹁繕鏈夊叾浠栧尮閰嶇殑Host瀹氫箟銆傚鏋滃彟涓€涓富鏈哄畾涔夊尮閰嶏紝SSH灏嗚涓绘満瀹氫箟涓嬬殑閰嶇疆閫夐」涓庝箣鍓嶅尮閰嶇殑涓绘満瀹氫箟閰嶇疆閫夐」鍚堝苟锛堥殢鐫€閰嶇疆鐨勭户缁鍙栵紝鏈€缁堢殑閰嶇疆閫夐」琚彔鍔狅級3.3銆乻sh_config鐨勫伐浣滃師鐞嗏湪3.3.1.ssh瀹㈡埛绔寜鐓т互涓嬮『搴忎粠涓変釜鍦版柟璇诲彇閰嶇疆锛歴ystem-wide/etc/ssh/ssh_config锛堥€傜敤浜庡涓绘満涓嬬殑鎵€鏈夌敤鎴凤紝system-levelSystem锛塽ser-specific~/.ssh/config锛圲ser-level锛塻sh鐩存帴鎻愪緵鐨勫懡浠よflags锛堝懡浠ゅ弬鏁板彲浠ヨ鐩栧凡鏈夌殑鍥哄畾閰嶇疆锛夋垜涓€鑸娇鐢ㄧ敤鎴风骇閰嶇疆锛屼互涓嬫槸鎴戜釜浜虹殑閰嶇疆锛屼粎渚涘弬鑰冿細#gitcode-csdnHostgitcode銆俷etHostNamegitcode.netPreferredauthenticationspublickeyIdentityFile~/.ssh/gitcode#gitlabHostgitlab.comHostNamegitlab.comIdentityFile~/.ssh/gitlab-rsa#githubHostgithub.comHostNamegithub.comIdentityFile~/.ssh/id_rsa#giteeHostgitee.comHostNamegitee.comIdentityFile~/.ssh/id_rsa#鍏变韩閰嶇疆锛屾枃浠跺簳閮℉ost*#棣栭€夎璇佹柟寮忎负publickey锛堝叕閽ワ級锛屽彲閫夛細publickey,gssapi-keyex,gssapi-with-mic,passwordPreferredAuthenticationspublickeyUsergit#ssh[Host]===ssh[User]@[HostName]瑙i噴锛欻ost锛歴sh鐨勫彟涓€涓悕瀛楋紝姣斿Host璁剧疆涓簒iao锛屼娇鐢╯sh鏃秞iao锛堟敞鎰忚缃甎ser锛塇ostName锛氭湇鍔″櫒鍦板潃PreferredAuthentications锛氳璇佸彲閫夋柟娉曪細publickey銆乬ssapi-keyex銆乬ssapi-with-mic銆乸asswordIdentityFile锛氭寚瀹氳繛鎺ostName鐨勫瘑閽ユ枃浠?.3.2銆佷富鏈哄埆鍚嶈缃ず渚婬ostdev1HostNamedev1.example.com鐢ㄦ埛jeery鐜板湪鎯宠繛鎺ュ埌jeery@dev1.example.com锛屽彲浠ュ湪鍛戒护琛岃緭鍏ュ涓嬪懡浠わ細sshdev1#鐩稿綋浜巗shjeery@dev1.example.com3.3.3銆乬it浠撳簱杩炴帴鍒悕璁剧疆绀轰緥3.4銆佽繛鎺ラ棶棰楶SC:\Users\xiao\.ssh>vim.\configPSC:\Users\xiao\.ssh>ssh-Tgit@gitcode.netBadownerorpermissionsonC:\\Users\\xiao/.ssh/configPSC:\Users\xiao\.ssh>瑙e喅鏂规硶锛氫慨鏀筩onfig鏂囦欢鏉冮檺cd~/.ssh/chmod600config4,git浠撳簱璁剧疆涓嬮潰ssh閾炬帴婕旂ず鎴戠殑璁剧疆姝ラ锛屼粎渚涘弬鑰?.1銆傛湰鍦扮敓鎴愬叕绉侀挜瀵箂sh-keygen-o-trsa-C"yourmail"-b4096馃攰璁板緱璁剧疆key鐨勫悕瀛楋紝榛樿鏄痠d_rsa锛堝鏋滀笉璁剧疆key锛屾柊鐢熸垚鐨刬d_rsa鏂囦欢浼氳鐩栧師鏉ョ殑id_rsa鏂囦欢锛屼箣鍓嶆坊鍔犵殑涓嶈兘鐢紒锛夛紝鍙傝€冧笅鍥攫煈?.2锛岄厤缃繙绋嬩富鏈簊sh鐧诲綍瑕佽繛鎺ョ殑杩滅▼涓绘満锛岃繖閲屾紨绀篻itcode骞冲彴4.3锛宻ettingssh_config杩欓噷鎴戠淮鎶ゅ湪~/.ssh/config涓紝娣诲姞gitcode涓绘満瀹氫箟閰嶇疆锛屽涓嬶細Host*#棣栭€夎璇佹柟寮忎负publickey锛堝叕閽ワ級锛屽彲閫夛細publickey,gssapi-keyex,gssapi-with-mic,passwordPreferredAuthenticationspublickeyUsergit#ssh[Host]===ssh[User]@[HostName]4.4,娴嬭瘯杩炴帴xiao@LAPTOP-L6TI0438MINGW64~/.sshssh-Tgitgitcode.net娆㈣繋鏉ュ埌GitLab,@heyYouU!xiao@LAPTOP-L6TI0438MINGW64~/.ssh鏈€鍚庯紝鐩镐俊鐪嬪畬涓婇潰鐨勮В閲婏紝瀵箂sh鐨勭悊瑙d細鏇村姞娓呮櫚銆傛墍浠ワ紝鏉ヨ瘯璇曟浛鎹sh璇曡瘯鍚с€傚彲浠ラ€夋嫨https鎴栬€卻sh杩炴帴杩滅▼浠撳簱銆傚尯鍒細https杩炴帴鏈夋枃浠朵紶杈撳ぇ灏忛檺鍒讹紝ssh娌℃湁ssh浼犺緭閫熷害姣攈ttps鍗忚蹇€俬ttps杩炴帴鎻愪氦浠g爜鏃堕渶瑕佽緭鍏ヨ处鍙峰瘑鐮佺櫥褰曪紝ssh浣跨敤鍏閽ュ姞瑙e瘑闅忔満鏁扮殑鏂瑰紡鍙互杞崲涓哄厤瀵嗙爜鐧诲綍鏂瑰紡杩炴帴浠撳簱锛屽锛氳浆鎹ttpsssh锛屾瘮杈冪畝鍗曪紝灏变笉浠嬬粛浜嗐€係SH鐨勪笢瑗垮緢澶氾紝SSH閰嶇疆閫夐」涔熸湁鍑犲崄涓€傛湰鏂囦负浠嬬粛锛屽ぇ瀹跺彲浠ョ户缁帰绱€傪煄夝煄?connection-options-for-your-ssh-clienthttp://www.bjpowernode.com/hot/2664.html馃尮鎸佺画鏇存柊锛屽叧娉ㄦ垜锛屼綘浼氬彂鐜颁竴涓姫鍔涚殑瀹濊棌绋嬪簭鍛橉煒婏紝璁╂垜浠涔犱竴璧凤紝璁╂垜浠竴璧锋垚闀裤€傪煄夊枩娆㈢殑鏈嬪弸璁板緱鐐硅禐鍏虫敞鏀惰棌锛岀湅瀹屼笉浼氳糠璺煒夝煄佹杩庡ぇ瀹惰瘎璁轰氦娴侊紝锜硅煿馃槉
