ssh, the secure shell - the definitive guide

594 318 0
ssh, the secure shell - the definitive guide

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SSH, the Secure Shell The Definitive Guide ,TITLE.16235 Page 1 Tuesday, March 13, 2001 3:33 PM www.sharexxx.net - free books & magazines ,TITLE.16235 Page 2 Tuesday, March 13, 2001 3:33 PM SSH, the Secure Shell The Definitive Guide Daniel J. Barrett and Richard E. Silverman Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo ,TITLE.16235 Page 3 Tuesday, March 13, 2001 3:33 PM SSH, the Secure Shell: The Definitive Guide by Daniel J. Barrett and Richard E. Silverman Copyright © 2001 O’Reilly & Associates, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly & Associates, Inc., 101 Morris Street, Sebastopol, CA 95472. Editor: Mike Loukides Production Editor: Mary Anne Weeks Mayo Cover Designer: Ellie Volckhausen Printing History: February 2001: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly & Associates, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly & Associates, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. The association between the image of a land snail and the topic of SSH is a trademark of O’Reilly & Associates, Inc. While every precaution has been taken in the preparation of this book, the publisher assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN: 0-596-00011-1 [3/01] [M] ,COPYRIGHT.25667 Page 1 Thursday, March 15, 2001 11:41 AM v Oracle 8i Internal Services for Waits, Latches, Locks, and Memory, eMatter Edition Copyright © 2001 O’Reilly & Associates, Inc. All rights reserved. Table of Contents Preface ix 1. Introduction to SSH 1 1.1. What Is SSH? 2 1.2. What SSH Is Not 2 1.3. The SSH Protocol 4 1.4. Overview of SSH Features 5 1.5. History of SSH 10 1.6. Related Technologies 12 1.7. Summary 18 2. Basic Client Use 19 2.1. A Running Example 19 2.2. Remote Terminal Sessions with ssh 20 2.3. Adding Complexity to the Example 22 2.4. Authentication by Cryptographic Key 26 2.5. The SSH Agent 32 2.6. Connecting Without a Password or Passphrase 37 2.7. Miscellaneous Clients 38 2.8. Summary 40 3. Inside SSH 41 3.1. Overview of Features 42 3.2. A Cryptography Primer 45 3.3. The Architecture of an SSH System 49 3.4. Inside SSH-1 52 ,sshTOC.fm.11051 Page v Tuesday, February 20, 2001 2:14 PM vi Table of Contents Oracle 8i Internal Services for Waits, Latches, Locks, and Memory, eMatter Edition Copyright © 2001 O’Reilly & Associates, Inc. All rights reserved. 3.5. Inside SSH-2 72 3.6. As-User Access (userfile) 85 3.7. Randomness 86 3.8. SSH and File Transfers (scp and sftp) 88 3.9. Algorithms Used by SSH 91 3.10. Threats SSH Can Counter 100 3.11. Threats SSH Doesn’t Prevent 103 3.12. Summary 107 4. Installation and Compile-Time Configuration 108 4.1. SSH1 and SSH2 108 4.2. F-Secure SSH Server 129 4.3. OpenSSH 130 4.4. Software Inventory 134 4.5. Replacing R-Commands with SSH 135 4.6. Summary 138 5. Serverwide Configuration 139 5.1. The Name of the Server 140 5.2. Running the Server 141 5.3. Server Configuration: An Overview 143 5.4. Getting Ready: Initial Setup 148 5.5. Letting People in: Authentication and Access Control 166 5.6. User Logins and Accounts 187 5.7. Subsystems 190 5.8. History, Logging, and Debugging 192 5.9. Compatibility Between SSH-1 and SSH-2 Servers 201 5.10. Summary 203 6. Key Management and Agents 204 6.1. What Is an Identity? 205 6.2. Creating an Identity 209 6.3. SSH Agents 216 6.4. Multiple Identities 235 6.5. Summary 238 7. Advanced Client Use 240 7.1. How to Configure Clients 240 7.2. Precedence 250 7.3. Introduction to Verbose Mode 251 ,sshTOC.fm.11051 Page vi Tuesday, February 20, 2001 2:14 PM Table of Contents vii Oracle 8i Internal Services for Waits, Latches, Locks, and Memory, eMatter Edition Copyright © 2001 O’Reilly & Associates, Inc. All rights reserved. 7.4. Client Configuration in Depth 252 7.5. Secure Copy with scp 284 7.6. Summary 292 8. Per-Account Server Configuration 293 8.1. Limits of This Technique 294 8.2. Public Key-Based Configuration 295 8.3. Trusted-Host Access Control 313 8.4. The User rc File 315 8.5. Summary 315 9. Port Forwarding and X Forwarding 316 9.1. What Is Forwarding? 317 9.2. Port Forwarding 318 9.3. X Forwarding 340 9.4. Forwarding Security: TCP-wrappers and libwrap 353 9.5. Summary 359 10. A Recommended Setup 360 10.1. The Basics 360 10.2. Compile-Time Configuration 361 10.3. Serverwide Configuration 362 10.4. Per-Account Configuration 366 10.5. Key Management 367 10.6. Client Configuration 367 10.7. Remote Home Directories (NFS, AFS) 368 10.8. Summary 371 11. Case Studies 372 11.1. Unattended SSH: Batch or cron Jobs 372 11.2. FTP Forwarding 379 11.3. Pine, IMAP, and SSH 400 11.4. Kerberos and SSH 408 11.5. Connecting Through a GatewayHost 428 12. Troubleshooting and FAQ 437 12.1. Debug Messages: Your First Line of Defense 437 12.2. Problems and Solutions 440 12.3. Other SSH Resources 459 12.4. Reporting Bugs 460 ,sshTOC.fm.11051 Page vii Tuesday, February 20, 2001 2:14 PM viii Table of Contents Oracle 8i Internal Services for Waits, Latches, Locks, and Memory, eMatter Edition Copyright © 2001 O’Reilly & Associates, Inc. All rights reserved. 13. Overview of Other Implementations 461 13.1. Common Features 461 13.2. Covered Products 462 13.3. Table of Products 462 13.4. Other SSH-Related Products 470 14. SSH1 Port by Sergey Okhapkin (Windows) 471 14.1. Obtaining and Installing Clients 471 14.2. Client Use 475 14.3. Obtaining and Installing the Server 476 14.4. Troubleshooting 478 14.5. Summary 479 15. SecureCRT (Windows) 480 15.1. Obtaining and Installing 480 15.2. Basic Client Use 481 15.3. Key Management 482 15.4. Advanced Client Use 483 15.5. Forwarding 484 15.6. Troubleshooting 486 15.7. Summary 487 16. F-Secure SSH Client (Windows, Macintosh) 488 16.1. Obtaining and Installing 488 16.2. Basic Client Use 489 16.3. Key Management 490 16.4. Advanced Client Use 491 16.5. Forwarding 493 16.6. Troubleshooting 495 16.7. Summary 497 17. NiftyTelnet SSH (Macintosh) 498 17.1. Obtaining and Installing 498 17.2. Basic Client Use 499 17.3. Troubleshooting 501 17.4. Summary 502 A. SSH2 Manpage for sshregex 503 B. SSH Quick Reference 506 Index 521 ,sshTOC.fm.11051 Page viii Tuesday, February 20, 2001 2:14 PM ix This is the Title of the Book, eMatter Edition Copyright © 2001 O’Reilly & Associates, Inc. All rights reserved. Preface Privacy is a basic human right, but on today’s computer networks, privacy isn’t guaranteed. Much of the data that travels on the Internet or local networks is transmitted as plain text, and may be captured and viewed by anybody with a little technical know-how. The email you send, the files you transmit between computers, even the passwords you type may be readable by others. Imagine the damage that can be done if an untrusted third party—a competitor, the CIA, your in-laws— intercepted your most sensitive communications in transit. Network security is big business as companies scramble to protect their informa- tion assets behind firewalls, establish virtual private networks (VPNs), and encrypt files and transmissions. But hidden away from all the bustle, there is a small, unas- suming, yet robust solution many big companies have missed. It’s reliable, reason- ably easy to use, cheap, and available for most of today’s operating systems. It’s SSH, the Secure Shell. Protect Your Network with SSH SSH is a low-cost, software-based solution for keeping prying eyes away from the data on a network. It doesn’t solve every privacy and security problem, but it elim- inates several of them effectively. Its major features are: • A secure, client/server protocol for encrypting and transmitting data over a network • Authentication (recognition) of users by password, host, or public key, plus optional integration with other popular authentication systems, including Ker- beros, SecurID, PGP, TIS Gauntlet, and PAM ,ch00.5787 Page ix Tuesday, February 20, 2001 2:06 PM x Preface This is the Title of the Book, eMatter Edition Copyright © 2001 O’Reilly & Associates, Inc. All rights reserved. • The ability to add security to insecure network applications such as Telnet, FTP, and many other TCP/IP-based programs and protocols • Almost complete transparency to the end user • Implementations for most operating systems Intended Audience We’ve written this book for system administrators and technically minded users. Some chapters are suitable for a wide audience, while others are thoroughly tech- nical and intended for computer and networking professionals. End-User Audience Do you have two or more computer accounts on different machines? SSH lets you connect one to another with a high degree of security. You can copy files between accounts, remotely log into one account from the other, or execute remote com- mands, all with the confidence that nobody can intercept your username, pass- word, or data in transit. Do you connect from a personal computer to an Internet service provider (ISP)? In particular, do you connect to a Unix shell account at your ISP? If so, SSH can make this connection significantly more secure. An increasing number of ISPs are run- ning SSH servers for their users. In case your ISP doesn’t, we’ll show you how to run a server yourself. Do you develop software? Are you creating distributed applications that must com- municate over a network securely? Then don’t reinvent the wheel: use SSH to encrypt the connections. It’s a solid technology that may reduce your develop- ment time. Even if you have only a single computer account, as long as it’s connected to a network, SSH can still be useful. For example, if you’ve ever wanted to let other people use your account, such as family members or employees, but didn’t want to give them unlimited use, SSH can provide a carefully controlled, limited access channel into your account. Prerequisites We assume you are familiar with computers and networking as found in any mod- ern business office or home system with an Internet connection. Ideally, you are familiar with the Telnet and FTP applications. If you are a Unix user, you should be familiar with the programs rsh, rlogin, and rcp, and with the basics of writing shell scripts. ,ch00.5787 Page x Tuesday, February 20, 2001 2:06 PM [...]... Secure Shell, it is not a true shell in the sense of the Unix Bourne shell and C shell It is not a command interpreter, nor does it provide wildcard expansion, command history, and so forth Rather, SSH creates a chan- * “SSH” is pronounced by spelling it aloud: S-S-H You might find the name Secure Shell a little puzzling, because it is not, in fact, a shell at all The name was coined from the existing... implements both the SSH-1 and SSH-2 protocols OpenSSH/1 OpenSSH, referring specifically to its behavior when using the SSH-1 protocol OpenSSH/2 OpenSSH, referring specifically to its behavior when using the SSH-2 protocol SSH completely avoids these problems Rather than running the insecure telnet program, you run the SSH client program ssh To log into an account with the username smith on the remote computer... of the protocol, SSH 2.0 or SSH-2, that incorporates new algorithms and is incompatible with SSH-1 In response, the IETF formed a working group called SECSH (Secure Shell) to standardize the protocol and guide its development in the public interest The SECSH working group submitted the first Internet Draft for the SSH-2.0 protocol in February 1997 In 1998, SCS released the software product “SSH Secure. .. book is current for the following Unix SSH versions” SSH1 1.2.30 F -Secure SSH1 1.3.7 OpenSSH 2.2.0 SSH Secure Shell (a.k.a SSH2) 2.3.0 F -Secure SSH2 2.0.13 The F -Secure products for Unix differ little from SSH1 and SSH2, so we won’t discuss them separately except for unique features See Appendix B for a summary of the differences Version information for non-Unix products is found in their respective chapters... rcp—collectively known as the r-commands— are the direct ancestors of the SSH1 clients ssh, slogin, and scp The user interfaces and visible functionality are nearly identical to their SSH1 counterparts, except that SSH1 clients are secure The r-commands, in contrast, don’t encrypt their connections and have a weak, easily subverted authentication model This is the Title of the Book, eMatter Edition... transmissions between them are encrypted The client then prompts for your password, which it supplies to the server over the secure channel The server authenticates you by checking that the password is correct and permits the login All subsequent client/server exchanges are protected by that secure channel, including the contents of the email you proceed to read using a mail program on shell. isp.com It’s... It’s important to remember that the secure channel exists only between the SSH client and server machines After logging into shell. isp.com via ssh, if you then telnet or ftp to a third machine, insecure.isp.com, the connection between * If the local and remote usernames are identical, you can omit the –l option (–l pat) and just type ssh shell. isp.com This is the Title of the Book, eMatter Edition Copyright... starters, and then others as your interests guide you Macintosh end users Read Chapters 1, 2, 13, 16, and 17, for starters, and then others as your interests guide you Users of other computer platforms Read Chapters 1, 2, and 13, for starters, and then others as your interests guide you Even if you are experienced with SSH, you will likely find value in Chapters 3–12 We cover significant details the Unix... estimated there are over two million SSH users worldwide, including hundreds of thousands of registered users of SCS products Sometimes we use the term “SSH1/SSH2 and their derivatives.” This refers to SCS’s SSH1 and SSH2, F -Secure SSH Server (Versions 1 and 2), OpenSSH, and any other ports of the SSH1 or SSH2 code base for Unix or other operating systems The term doesn’t encompass other SSH products (SecureCRT,... Clien t Computer Figure 1-1 SSH architecture nel for running a shell on a remote computer, in the manner of the Unix rsh command, but with end-to-end encryption between the local and remote computer SSH is also not a complete security solution—but then, nothing is It won’t protect computers from active break-in attempts or denial-of-service attacks, and it won’t eliminate other hazards such as viruses, . SSH? SSH, the Secure Shell, is a popular, powerful, software-based approach to net- work security. * Whenever data is sent by a computer to the network, SSH automat- ically encrypts it. When the. starters, and then others as your interests guide you. Macintosh end users Read Chapters 1, 2, 13, 16, and 17, for starters, and then others as your inter- ests guide you. Users of other computer. on the context. If A is secured using multiple keys (say K and L), they will be listed in the subscript, separated by commas: A K, L SSH1 1.2.30 F -Secure SSH1 1.3.7 OpenSSH 2.2.0 SSH Secure Shell

Ngày đăng: 25/03/2014, 12:09

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan