(Translated by https://www.hiragana.jp/)
Secure Shell - 维基百科,自由的百科全书

Secure Shell

よう于安全数ぜんすうすえ通信つうしんてきみつ码网络协议,远程がい壳服务或命令めいれい执行以及两台联网计算つくえ间的其他安全あんぜん网络ふく

安全あんぜんがい壳协议(Secure Shell Protocol,简称SSHいち种加みつてき网络传输协议ざい不安ふあん全的ぜんてき网络ちゅう为网络服务提供ていきょう安全あんぜんてき传输环境[1]。SSHどおり过在网络ちゅう建立こんりゅう安全あんぜん隧道すいどうえいsecure channelらい实现SSHきゃく户端あずかふく务器间的连接[2]。SSHさいつね见的用途ようと远程とう录系统,にん通常つうじょう利用りようSSHらい传输命令めいれいぎょう界面かいめんかず远程执行命令めいれい。SSH使用しよう频率最高さいこうてき场合类UnixけいただしこれWindows操作そうさけい统也のうゆう限度げんど使用しようSSH。2015ねんほろ宣布せんぷはたざい未来みらいてき操作そうさけい统中提供ていきょう原生げんせいSSH协议支持しじ[3]Windows 10 1803版本はんぽんやめ提供ていきょうOpenSSH工具こうぐ[4]

ざい设计じょう,SSHTelnetかず安全あんぜんshellてきがえ代品だいひん。TelnetBerkeley rloginえいrloginrshrexecえいRemote Process Executionとう协议さいよう明文あきふみ传输,使用しよう不可ふかもたれてきみつ码,容易ようい遭到监听、嗅探ちゅう间人おさむ[5]。SSHむねざい证非安全あんぜん网络环境(れい互联网ちゅうしんじいきみつかんせいもたれ

过,SSH也被指出さしでゆう嗅探甚至かいみつてきほらはやざい2011ねん中國ちゅうごくてきもうぎわもうしん機構きこうやめけい有能ゆうのうりょくはりたいSSHれんせんてきとげさがせ及干擾。[6][7]而後爱德华·斯诺とう泄露てきぶんけん也指美国びくに国家こっか安全あんぜんきょくゆう时能够把SSH协议传输てきしんいきかいみつ出来でき,从而读出SSHかい话的传输内容ないよう[8]。2017ねん7がつ6にち营利组织維基かいみつ确认美国びくに中央ちゅうおうじょう报局やめ经开发出のう够在WindowsあるLinux操作そうさけい统中窃取せっしゅSSHかい话的工具こうぐ[9]

がいじゅつ

编辑

SSH以对称みつ实现份验证[2]份验证有种途みちれい如其ちゅう一种方法是使用自动生成的公钥-わたし钥对らい简单みつ网络连接,ずいきさき使用しようみつ码认证进ぎょうとう录;另一种方法是人工生成一对公钥和私钥,つう生成せいせいてきみつ钥进ぎょう认证,这样就可以在输入みつ码的じょう况下とう录。にん何人なんにん以自ぎょう生成せいせいみつ钥。おおやけ需要じゅようざいまち访问てき电脑なか,而对应的わたし钥需ようよしよう户自ぎょう保管ほかん。认证过程もと生成せいせい出来できてきわたし钥,ただしせい个认证过ほどちゅうわたし本身ほんみかい传输到网络ちゅう

SSH协议ゆう两个主要しゅよう版本はんぽんふん别是SSH-1SSH-2。无论哪个版本はんぽんかく未知みちみつ钥来みなもと重要じゅうようてき事情じじょういん为SSHただ验证提供ていきょうよう户是拥有あずかおおやけ钥相ひきはいてきわたし钥,ただよう接受せつじゅこう钥而且密钥匹はいふく务器就会授予许可。这样てき话,一旦接受了恶意攻击者的公钥,么系统也かいおさむ击者视为合法ごうほうよう户。

みつ管理かんり

编辑

ざい类Unixけいなかやめ许可とう录的こう通常つうじょう存在そんざいよう户 /home 录的 ~/.ssh/authorized_keys ぶんけんちゅう[10],该文けんただゆかりSSH使用しようとう远程つくえゆうこう钥,而本ゆう对应わたし钥时,とう录过ほどさい需要じゅようしゅ动输にゅうみつ码。另外为了额外てき安全あんぜんせいわたし本身ほんみ也能ようみつ码保护。

わたし钥会保存ほぞんざい固定こてい位置いち,也可以通过命れいぎょうまいりすう指定していれい如ssh命令めいれいてき“-i”选项)。ssh-keygen生成せいせいみつ钥的工具こうぐいち

SSH也支持しじもと于密码的份验证,此时みつ钥是生成せいせいてきわかきゃく户端和服わふく务端从未进行过身份验证,SSH记录ふく务器はししょ使用しようてきみつ钥,么攻击者以模仿服务器はし请求并获取みつ码,そくちゅう间人おさむただしみつ码认证可以禁よう,而且SSHきゃく户端ざい发现しんみつ钥或未知みちふく务器时会むこうよう户发警告けいこく

应用

编辑

SSHてき经典用途ようととういれいた远程电脑ちゅう执行命令めいれいじょ此之がい,SSH也支持しじ隧道すいどう协议はしこううつX11连接。じょSFTPあるSCP协议,SSH还可以传输文けん[2]

SSH使用しようきゃく户端-ふく务器模型もけい标准はしこう为22[11]ふく务器はし需要じゅよう开启SSHまもり护进ほど以便接受せつじゅ远端てき连接,而用户需よう使用しようSSHきゃく户端あずか建立こんりゅう连接。

だい多数たすう现代操作そうさけい统(包括ほうかつmacOSだい部分ぶぶんLinuxOpenBSDFreeBSDSolarisひとしけい统)提供ていきょうりょうSSH,包括ほうかつWindowsけい统也提供ていきょうSSHほどじょざいWindows 10 1809版本はんぽんきさき)。ざい软件层次,许多关于SSHてき专有软件めん軟體开源软件とぎ出来でき,如:

  • ぶんけん管理かんり软件(どう、复制、删除とう)。如:PuTTYかずWindowsてきWinSCP、类Unixけい统下てきKonquerorとう
  • SSHきゃく户端

うん计算てき角度かくどじょう讲,SSHのう阻止そし一些因直接暴露在互联网而产生的安全问题,ざいかい决连せっ问题じょう发挥りょう重要じゅうよう作用さよう。SSH隧道すいどう以在互联网、防火ぼうかきょ拟机これ提供ていきょういち个安全的ぜんてきどおりどう[12]

历史

编辑

1.x版本はんぽん

编辑

芬兰赫尔からしもと理工りこう大学だいがくてきとう图·于勒宁发现自己じこ学校がっこう存在そんざい嗅探みつ码的网络おさむ击,便びん于1995ねん编写りょう一套保护信息传输的程序,并称其为“secure shell”,简称SSH[13],设计标是だいさきまえてきrloginえいrloginTelnetFTP[14]rshひとし安全あんぜんせい不足ふそくてき协议。1995ねん7がつ,于勒宁以めん軟體的形まとがたしきはた其发ぬのほどじょ很快流行りゅうこうおこりらい,截至1995ねんそこ,SSHてきよう户数やめ经达到两まんへんぬのじゅう国家こっか

1995ねん12月,于勒宁创りつりょうSSH通信つうしん安全あんぜん公司こうしらい继续开发销售SSH。SSHてき早期そうき版本はんぽんよういたりょう很多自由じゆう软件れいGNU libgmpただしきさき来由らいゆSSH公司こうし发布てき版本はんぽん逐渐变成りょう专有软件

截至2000ねんやめ经有两ひゃくまんよう使用しようSSH。[15]

OpenSSHOSSH

编辑

1999ねん,开发しゃ希望きぼう使用しよう自由じゆう版本はんぽんてきSSH,于是おもしん使用しよう较旧てき1.2.12版本はんぽん,这也さいきさきいち个采よう开放げんだい许可てき版本はんぽんずいきさきみずてんほどじょ员Björn Grönvallもと于这个版ほん开发りょうOSSH。久之ひさゆききさきOpenBSDてき开发しゃまたざいGrönvall版本はんぽんてきもと础上进行りょう大量たいりょうおさむあらため形成けいせいりょうOpenSSH,并于OpenBSD 2.6いちおこり发行。从该版本はんぽん开始,OpenSSHまた逐渐移植いしょくいたりょう其他操作そうさけい统上めん[16]

截至2005ねん,OpenSSH唯一ゆいいついち种最流行りゅうこうてきSSH实现,而且なり为了大量たいりょう操作そうさけい统的だま认组けん,而OSSHやめ经过时[17]。OpenSSH仍在维护,而且やめ支持しじSSH-2协议。从7.6はん开始,OpenSSHさい支持しじSSH-1协议。

2.x版本はんぽん

编辑

2006ねん,SSH-2协议なり为了しんてき标准。あずかSSH-1そう,SSH-2进行りょう一系列功能改进并增强了安全性,れい如基于すすむ菲-赫爾曼密鑰交換こうかんいくわみつかずはじめ訊息鑑別かんべつてきかんせいせい检查。SSH-2还支持しじどおり过单个SSH连接任意にんい数量すうりょうてきshellかい话。SSH-2协议与SSH-1けんようゆかり于更流行りゅうこういち些实现(れいlshDropbearただ支持しじSSH-2协议。

1.99はん

编辑

RFC 4253规定支持しじ2.0及以ぜん版本はんぽんSSHてきSSHふく务器应将其原そのはらはじめ版本はんぽん标为“1.99”[18]。“1.99”并不实际てき软件版本はんぽんごう,而是为了表示ひょうじこうしたけんよう

名詞めいし釋義しゃくぎ

编辑
  • SSH:泛指SSH協定きょうていある實現じつげんSSHこれ軟體。
  • SSH-1:SSH協定きょうてい版本はんぽんだい1はん,以資あずかSSH-2區分くぶん。其中1.3あずか1.5はんさいつね使用しようつつみ及時SSH-1.3あずかSSH-1.5。
  • SSH-2:SSH協定きょうてい版本はんぽんだい2はん,以資あずかSSH-2區分くぶんため現行げんこう最新さいしん版本はんぽん
  • SSH1:せんゆびとう图·于勒宁ところ開發かいはつ“secure shell”だい1はんさくSSH-1協定きょうてい
  • SSH2:せんゆびとう图·于勒宁ところ開發かいはつ“secure shell”だい2はんさくSSH-2協定きょうていげんぞく於SSH Communications Security該公司こうし所有しょゆう
  • OpenSSH(OpenBSD Secure Shell):せんゆびもと於secure shell 1.2.12はんぶん支所ししょ開發かいはつ軟體,現行げんこう版本はんぽんやめ停止ていし支援しえんSSH-1協定きょうてい
  • OpenSSH /1:OpenSSH於執行しっこうSSH-1協定きょうてい行為こういだいしょう
  • OpenSSH /2:OpenSSH於執行しっこうSSH-2協定きょうてい行為こういだいしょう

基本きほん

编辑

SSH协议かまちちゅうさい主要しゅようてき部分ぶぶんさん个协议:

  1. 传输层协议(The Transport Layer Protocol):传输层协议提供ていきょうふく务器认证,すうすえつくえみつせいしんいきかんせいせいとうてき支持しじ
  2. よう户认证协议(The User Authentication Protocol):よう户认证协议为ふく务器提供ていきょうきゃく户端てき份鉴别。
  3. 连接协议(The Connection Protocol):连接协议はたみつてきしんいき隧道すいどう复用なり若干じゃっかん个逻辑通どう提供ていきょう给更だか层的应用协议使用しよう

どう时还ゆう为许だか层的网络安全あんぜん应用协议提供ていきょう扩展てき支持しじ

かく种高层应よう协议以相对地独立どくりつSSH基本きほん体系たいけいそと,并依もたれ这个基本きほんかまちつう过连せっ协议使用しようSSHてき安全あんぜんつくえせい

SSHてき安全あんぜん验证

编辑

ざいきゃく户端らい,SSH提供ていきょう两种级别てき安全あんぜん验证。

  • だいいち种级别(もと于密碼的安全あんぜん验证),知道ともみち帐号かずひそか碼,就可以登录到远程ぬしつくえ,并且所有しょゆう传输てきすうすえ都会とかいSSH传输层协议加みつただし可能かのうかいゆう别的ふく务器ざいおかせたかし真正しんせいてきふく务器,ただしただようきゃく户端こう验主つくえこう钥,ざいふく务器わたし钥不泄露てき前提ぜんてい就能避免ちゅう间人」おさむ击。
  • だい种级别(もとみつてき安全あんぜん验证),需要じゅようもたれみつ钥,也就你必须为自己じこ创建いち对密钥,并把こう钥放ざい需要じゅよう访问てきふく务器じょうきゃく户端软件かいこうふく务器发出请求,请求よう你的わたし钥进ぎょう安全あんぜん验证并发送使用しようわたし钥对かい话IDとうしんいきてき签名。ふく务器おさむいた请求きさきさきざい你在该服务器てきよう户根录下寻找你的こう钥,しかきさき它和你发送过来てきおおやけ钥进ぎょう较,并用こう钥检验签めいいやせい确。如果两个みつ一致いっち,且签めいせい确,ふく务器就认为用户登录成功せいこう

ざいふく务器はしらい,SSH也提供ていきょう安全あんぜん验证。

  • ふく务器はた自己じこてきおおやけ钥分发给しょう关的きゃくはし,并将みつ钥交换过ほどなかてきおおやけ开信いきあずか协商みつ钥的哈希值的签名发送给客はしきゃく户端はた获取てきふく务器こう钥计さんゆび纹并与其他安全あんぜん信道のぶみち获得てきおおやけ钥指纹相对并验证ぬしつくえ签名。
  • 存在そんざい一个密钥认证中心,所有しょゆう提供ていきょうふく务的ぬしつくえはた自己じこてきおおやけ钥提交给认证中心ちゅうしんおおやけ钥认证中心ちゅうしん给服务端颁发证书,而任なんさく为客端的たんてきぬしつくえ则只よう保存ほぞん一份认证中心的公钥就可以了。ざい这种しきふく务器かい发送认证中心ちゅうしん提供ていきょう给主つくえてき证书あずかしゅつくえ对密钥交换过ほど中公ちゅうこう开信いきてき签名。きゃく户端ただ需要じゅよう验证证书てき有效ゆうこうせい并验证签めい

SSH协议てき扩展せい

编辑

SSH协议かまちちゅう设计りょう大量たいりょう扩展项,如用户自てい义算ほうきゃく户自てい义密钥规则、こう层扩てんこうのうせい应用协议。这些扩展だい遵循IANAてきゆう关规じょうとく别是ざい重要じゅうようてき部分ぶぶんぞう命名めいめい规则消息しょうそく编码方面ほうめん

参考さんこう文献ぶんけん

编辑
  1. ^ The Secure Shell (SSH) Protocol Architecture. RFC 4251. IETF Network Working Group. 2006-01 [2017-12-02]. (原始げんし内容ないようそん于2018-10-10). 
  2. ^ 2.0 2.1 2.2 The Secure Shell (SSH) Authentication Protocol. RFC 4252. IETF Network Working Group. 2006-01 [2017-12-02]. (原始げんし内容ないようそん于2017-11-19). 
  3. ^ Peter Bright. Microsoft bringing SSH to Windows and PowerShell. Ars Technica. 2015-06-02 [2017-12-02]. (原始げんし内容ないようそん于2017-06-09). 
  4. ^ maertendMSFT. OpenSSH in Windows. docs.microsoft.com. [2019-05-11]. (原始げんし内容ないようそん于2019-05-11) 美国びくにえい语). 
  5. ^ SSH Hardens the Secure Shell页面そん档备份そん互联网档あん), Serverwatch.com
  6. ^ 中国ちゅうごくとげさがせみつ连接测试しんへい蔽方しき. www.solidot.org. 2011-11-21 [2021-10-24]. (原始げんし内容ないようそん档于2020-07-07). 
  7. ^ Greenberg, Andy. China's Great Firewall Tests Mysterious Scans On Encrypted Connections. Forbes. [2018-02-18]. (原始げんし内容ないようそん于2018-02-18) えい语). 
  8. ^ Prying Eyes: Inside the NSA's War on Internet Security. Spiegel Online. 2014-12-28 [2017-12-02]. (原始げんし内容ないようそん于2015-01-24). 
  9. ^ BothanSpy. wikileaks.org. 2017-07-06 [2017-09-25]. (原始げんし内容ないようそん档于2017-07-08). 
  10. ^ SSH setup manual. [2017-12-02]. (原始げんし内容ないようそん档于2017-07-11). 
  11. ^ Service Name and Transport Protocol Port Number Registry. iana.org. [2017-12-02]. (原始げんし内容ないようそん于2001-06-04). 
  12. ^ Amies, A; Wu, C F; Wang, G C; Criveti, M. Networking on the cloud. IBM developerWorks. 2012 [2017-12-02]. (原始げんし内容ないようそん于2013-06-14). 
  13. ^ Tatu Ylönen. The new skeleton key: changing the locks in your network environment. 2013-04-02 [2017-12-02]. (原始げんし内容ないようそん档于2017-08-20). 
  14. ^ Tatu Ylönen. SSH Port. [2017-12-02]. (原始げんし内容ないようそん于2017-08-03). 
  15. ^ Nicholas Rosasco and David Larochelle. How and Why More Secure Technologies Succeed in Legacy Markets: Lessons from the Success of SSH (PDF). Quoting BarrettえいDaniel J. Barrett and Silverman, SSH, the Secure Shell: The Definitive Guide, O'Reilly & Associates (2001). Dept. of Computer Science, Univ. of Virginia. [2006-05-19]. (原始げんし内容ないようそん (PDF)于2006-06-25). 
  16. ^ OpenSSH: Project History and Credits. openssh.com. 2004-12-22 [2014-04-27]. (原始げんし内容ないようそん档于2013-12-24). 
  17. ^ OSSH Information for VU#419241. [2017-12-02]. (原始げんし内容ないようそん档于2007-09-27). 
  18. ^ RFC 4253, section 5. Compatibility With Old SSH Versions. RFC 4253. IETF Network Working Group. 2006-01 [2017-12-02]. (原始げんし内容ないようそん于2018-03-01). 

外部がいぶ連結れんけつ

编辑