Name Date Size #Lines LOC

..--

contrib/H26-Jul-2015-5,1733,659

openbsd-compat/H26-Jul-2015-18,58012,063

regress/H26-Jul-2015-5,6134,356

CREDITSHD26-Jul-20155.4 KiB10699

ChangeLogHD26-Jul-2015127 KiB2,8882,727

FREEBSD-tricksHD26-Jul-2015461 1511

FREEBSD-upgradeHD26-Jul-20154.1 KiB13183

FREEBSD-vendorHD26-Jul-2015131 76

INSTALLHD26-Jul-20159 KiB270183

LICENCEHD26-Jul-201515.7 KiB341296

Makefile.inHD26-Jul-201518.8 KiB477411

OVERVIEWHD26-Jul-20156.6 KiB169124

PROTOCOLHD26-Jul-201513.1 KiB360265

PROTOCOL.agentHD26-Jul-201517.6 KiB561407

PROTOCOL.certkeysHD26-Jul-201510.4 KiB266212

PROTOCOL.chacha20poly1305HD26-Jul-20154.4 KiB10682

PROTOCOL.keyHD26-Jul-20151.5 KiB6951

PROTOCOL.krlHD26-Jul-20154.8 KiB165112

PROTOCOL.muxHD26-Jul-20155.9 KiB223161

READMEHD26-Jul-20152.7 KiB6649

README.dnsHD26-Jul-20151.6 KiB4830

README.hpnHD26-Jul-20155.7 KiB12195

README.platformHD26-Jul-20153.9 KiB9773

README.privsepHD26-Jul-20152.6 KiB6447

README.tunHD26-Jul-20154.8 KiB13398

TODOHD26-Jul-20152.7 KiB8766

aclocal.m4HD26-Jul-20155.3 KiB180171

addrmatch.cHD26-Jul-201510.9 KiB501355

atomicio.cHD26-Jul-20154.4 KiB170121

atomicio.hHD26-Jul-20152.1 KiB5213

audit-bsm.cHD26-Jul-201511.9 KiB458323

audit-linux.cHD26-Jul-20153.5 KiB12776

audit.cHD26-Jul-20155.7 KiB187105

audit.hHD26-Jul-20152.3 KiB5827

auth-bsdauth.cHD26-Jul-20153.5 KiB13993

auth-chall.cHD26-Jul-20153.5 KiB12486

auth-krb5.cHD26-Jul-20156.9 KiB273200

auth-options.cHD26-Jul-201516 KiB634560

auth-options.hHD26-Jul-20151.2 KiB4120

auth-pam.cHD26-Jul-201530.8 KiB1,220946

auth-pam.hHD26-Jul-20152 KiB5121

auth-passwd.cHD26-Jul-20156.2 KiB216144

auth-rh-rsa.cHD26-Jul-20153 KiB10460

auth-rhosts.cHD26-Jul-20159 KiB322215

auth-rsa.cHD26-Jul-20158.9 KiB343200

auth-shadow.cHD26-Jul-20154.2 KiB14387

auth-sia.cHD26-Jul-20153.1 KiB11570

auth-sia.hHD26-Jul-20151.4 KiB324

auth-skey.cHD26-Jul-20152.8 KiB10966

auth.cHD26-Jul-201519.2 KiB760582

auth.hHD26-Jul-20157.1 KiB222146

auth1.cHD26-Jul-201510.1 KiB440305

auth2-chall.cHD26-Jul-20159 KiB375297

auth2-gss.cHD26-Jul-20158 KiB295195

auth2-hostbased.cHD26-Jul-20156.5 KiB231177

auth2-kbdint.cHD26-Jul-20152.1 KiB6932

auth2-none.cHD26-Jul-20152.2 KiB7439

auth2-passwd.cHD26-Jul-20152.4 KiB8145

auth2-pubkey.cHD26-Jul-201517.9 KiB688544

auth2.cHD26-Jul-201516.8 KiB649501

authfd.cHD26-Jul-201516.1 KiB658468

authfd.hHD26-Jul-20153.1 KiB9557

authfile.cHD26-Jul-201533.5 KiB1,3091,037

authfile.hHD26-Jul-20151.3 KiB3316

blocks.cHD26-Jul-20156.5 KiB249215

bufaux.cHD26-Jul-20158.8 KiB394261

bufbn.cHD26-Jul-20156.1 KiB230154

bufec.cHD26-Jul-20153.9 KiB147100

buffer.cHD26-Jul-20155.8 KiB262176

buffer.hHD26-Jul-20153.4 KiB10666

buildpkg.sh.inHD26-Jul-201517.6 KiB678526

canohost.cHD26-Jul-201510.8 KiB432287

canohost.hHD26-Jul-20151,000 3012

chacha.cHD26-Jul-20155.3 KiB220188

chacha.hHD26-Jul-2015975 3621

channels.cHD26-Jul-2015101.9 KiB3,8983,074

channels.hHD26-Jul-201511.4 KiB318207

cipher-3des1.cHD26-Jul-20155.1 KiB184127

cipher-aes.cHD26-Jul-20154.5 KiB162119

cipher-bf1.cHD26-Jul-20153 KiB10962

cipher-chachapoly.cHD26-Jul-20153.7 KiB11566

cipher-chachapoly.hHD26-Jul-20151.6 KiB4219

cipher-ctr.cHD26-Jul-20153.5 KiB147103

cipher.cHD26-Jul-201515.3 KiB585457

cipher.hHD26-Jul-20154.1 KiB10456

cleanup.cHD26-Jul-20151 KiB3310

clientloop.cHD26-Jul-201561.8 KiB2,2921,624

clientloop.hHD26-Jul-20153.5 KiB8028

compat.cHD26-Jul-20158.3 KiB294241

compat.hHD26-Jul-20152.9 KiB7946

compress.cHD26-Jul-20155 KiB16898

compress.hHD26-Jul-2015885 268

config.guessHD26-Jul-201543.9 KiB1,5381,331

config.hHD26-Jul-201546.7 KiB1,710296

config.h.inHD26-Jul-201544.1 KiB1,7091,152

config.subHD26-Jul-201534.9 KiB1,7941,651

configureHD26-Jul-2015501.1 KiB19,74215,981

configure.acHD26-Jul-2015132.8 KiB4,9024,592

crc32.cHD26-Jul-20154.9 KiB10677

crc32.hHD26-Jul-20151.4 KiB314

crypto_api.hHD26-Jul-20151.3 KiB4526

deattack.cHD26-Jul-20153.9 KiB161100

deattack.hHD26-Jul-2015917 327

defines.hHD26-Jul-201520.2 KiB830621

dh.cHD26-Jul-20159.3 KiB358273

dh.hHD26-Jul-20152.4 KiB7530

digest-libc.cHD26-Jul-20155.3 KiB239193

digest-openssl.cHD26-Jul-20154 KiB167125

digest.hHD26-Jul-20152.3 KiB6429

dispatch.cHD26-Jul-20152.8 KiB10571

dispatch.hHD26-Jul-20151.8 KiB4212

dns.cHD26-Jul-20158.8 KiB342243

dns.hHD26-Jul-20152 KiB5622

ed25519.cHD26-Jul-20153.1 KiB145105

entropy.cHD26-Jul-20156.4 KiB240165

entropy.hHD26-Jul-20151.5 KiB387

fatal.cHD26-Jul-20151.6 KiB4613

fe25519.cHD26-Jul-20158.1 KiB338278

fe25519.hHD26-Jul-20152.3 KiB7142

fixalgorithmsHD26-Jul-2015422 2713

fixpathsHD26-Jul-2015499 2312

fixprogsHD26-Jul-20151.6 KiB7353

freebsd-configure.shHD26-Jul-2015611 3118

ge25519.cHD26-Jul-201511 KiB322249

ge25519.hHD26-Jul-20151.3 KiB4425

ge25519_base.dataHD26-Jul-2015164.6 KiB859856

groupaccess.cHD26-Jul-20153.4 KiB13175

groupaccess.hHD26-Jul-20151.5 KiB367

gss-genr.cHD26-Jul-20157.3 KiB282191

gss-serv-krb5.cHD26-Jul-20155.6 KiB212143

gss-serv.cHD26-Jul-20159.9 KiB388242

hash.cHD26-Jul-20151.8 KiB7755

hmac.cHD26-Jul-20155.1 KiB198150

hmac.hHD26-Jul-20151.6 KiB3814

hostfile.cHD26-Jul-201512.9 KiB490356

hostfile.hHD26-Jul-20151.5 KiB5531

includes.hHD26-Jul-20153.9 KiB180136

install-shHD26-Jul-20155.5 KiB252153

kex.cHD26-Jul-201518.4 KiB714571

kex.hHD26-Jul-20155.7 KiB210162

kexc25519.cHD26-Jul-20154.1 KiB12378

kexc25519c.cHD26-Jul-20154.2 KiB13082

kexc25519s.cHD26-Jul-20154.2 KiB12778

kexdh.cHD26-Jul-20152.8 KiB8850

kexdhc.cHD26-Jul-20154.8 KiB162112

kexdhs.cHD26-Jul-20154.7 KiB161107

kexecdh.cHD26-Jul-20153.1 KiB9858

kexecdhc.cHD26-Jul-20155.1 KiB166113

kexecdhs.cHD26-Jul-20155 KiB162108

kexgex.cHD26-Jul-20153.2 KiB9961

kexgexc.cHD26-Jul-20155.9 KiB208144

kexgexs.cHD26-Jul-20156.1 KiB209144

key.cHD26-Jul-201565.1 KiB2,6262,272

key.hHD26-Jul-20155.2 KiB167125

krb5_config.hHD26-Jul-2015315 1210

krl.cHD26-Jul-201532.3 KiB1,2381,009

krl.hHD26-Jul-20152.5 KiB6434

log.cHD26-Jul-201510.4 KiB462354

log.hHD26-Jul-20152.5 KiB7955

loginrec.cHD26-Jul-201541.9 KiB1,7271,102

loginrec.hHD26-Jul-20154.6 KiB13251

logintest.cHD26-Jul-20158.6 KiB309214

mac.cHD26-Jul-20156.9 KiB247194

mac.hHD26-Jul-20151.5 KiB326

match.cHD26-Jul-20157.2 KiB280145

match.hHD26-Jul-20151.1 KiB2811

md-sha256.cHD26-Jul-20152.2 KiB8754

md5crypt.cHD26-Jul-20154 KiB168102

md5crypt.hHD26-Jul-2015803 258

mdoc2man.awkHD26-Jul-20158.4 KiB371339

misc.cHD26-Jul-201521.8 KiB1,071827

misc.hHD26-Jul-20153.3 KiB11276

mkinstalldirsHD26-Jul-2015691 4123

moduliHD26-Jul-2015236.5 KiB263262

moduli.0HD26-Jul-20153.3 KiB7555

moduli.5HD26-Jul-20153.6 KiB128127

moduli.cHD26-Jul-201520.4 KiB804490

monitor.cHD26-Jul-201551.9 KiB2,1401,672

monitor.hHD26-Jul-20154 KiB9960

monitor_fdpass.cHD26-Jul-20154.6 KiB183142

monitor_fdpass.hHD26-Jul-20151.5 KiB355

monitor_mm.cHD26-Jul-20158.5 KiB356242

monitor_mm.hHD26-Jul-20152.2 KiB6325

monitor_wrap.cHD26-Jul-201530.2 KiB1,293968

monitor_wrap.hHD26-Jul-20154.1 KiB11263

msg.cHD26-Jul-20152.6 KiB9055

msg.hHD26-Jul-20151.5 KiB325

mux.cHD26-Jul-201554.8 KiB2,1031,724

myproposal.hHD26-Jul-20154.4 KiB154112

nchan.cHD26-Jul-201512.8 KiB532435

nchan.msHD26-Jul-20153.9 KiB10074

nchan2.msHD26-Jul-20153.4 KiB8964

openssh.xml.inHD26-Jul-20152.8 KiB9161

opensshd.init.inHD26-Jul-20151.8 KiB8964

packet.cHD26-Jul-201554.9 KiB2,0841,529

packet.hHD26-Jul-20154.4 KiB135101

pathnames.hHD26-Jul-20156 KiB18477

pkcs11.hHD26-Jul-201541.4 KiB1,3581,119

platform.cHD26-Jul-20154.9 KiB215140

platform.hHD26-Jul-20151.3 KiB3413

poly1305.cHD26-Jul-20154.5 KiB161121

poly1305.hHD26-Jul-2015645 2311

progressmeter.cHD26-Jul-20157.4 KiB308221

progressmeter.hHD26-Jul-20151.4 KiB282

readconf.cHD26-Jul-201555.9 KiB1,9871,622

readconf.hHD26-Jul-20157.5 KiB208147

readpass.cHD26-Jul-20155 KiB194139

rijndael.cHD26-Jul-201557.3 KiB1,2451,120

rijndael.hHD26-Jul-20151.8 KiB5218

roaming.hHD26-Jul-20151.7 KiB4624

roaming_client.cHD26-Jul-20157.1 KiB278211

roaming_common.cHD26-Jul-20155.5 KiB245192

roaming_dummy.cHD26-Jul-20151.4 KiB6231

roaming_serv.cHD26-Jul-20151 KiB328

rsa.cHD26-Jul-20154.6 KiB15269

rsa.hHD26-Jul-2015866 278

sandbox-capsicum.cHD26-Jul-20153.3 KiB12479

sandbox-darwin.cHD26-Jul-20152.5 KiB9957

sandbox-null.cHD26-Jul-20151.6 KiB7336

sandbox-rlimit.cHD26-Jul-20152.4 KiB9860

sandbox-seccomp-filter.cHD26-Jul-20156.7 KiB241172

sandbox-systrace.cHD26-Jul-20155.8 KiB201152

sc25519.cHD26-Jul-20157.2 KiB309255

sc25519.hHD26-Jul-20152.8 KiB8146

schnorr.cHD26-Jul-201516.7 KiB673488

scp.0HD26-Jul-20155.9 KiB164134

scp.1HD26-Jul-20155 KiB246245

scp.cHD26-Jul-201531.2 KiB1,3471,108

servconf.cHD26-Jul-201562.7 KiB2,1521,845

servconf.hHD26-Jul-20159.5 KiB248170

serverloop.cHD26-Jul-201535.4 KiB1,281916

serverloop.hHD26-Jul-20151,016 285

session.cHD26-Jul-201566.9 KiB2,7952,064

session.hHD26-Jul-20152.5 KiB8548

sftp-client.cHD26-Jul-201541.1 KiB1,7361,389

sftp-client.hHD26-Jul-20154 KiB13546

sftp-common.cHD26-Jul-20156.2 KiB237184

sftp-common.hHD26-Jul-20152 KiB5218

sftp-glob.cHD26-Jul-20153.4 KiB15195

sftp-server-main.cHD26-Jul-20151.4 KiB5226

sftp-server.0HD26-Jul-20154.2 KiB9673

sftp-server.8HD26-Jul-20155 KiB172171

sftp-server.cHD26-Jul-201537.3 KiB1,6251,390

sftp.0HD26-Jul-201514.5 KiB371287

sftp.1HD26-Jul-201514 KiB605604

sftp.cHD26-Jul-201556 KiB2,4301,992

sftp.hHD26-Jul-20153.3 KiB10255

smult_curve25519_ref.cHD26-Jul-20156.7 KiB266227

ssh-add.0HD26-Jul-20155 KiB12494

ssh-add.1HD26-Jul-20156.4 KiB202201

ssh-add.cHD26-Jul-201513 KiB526420

ssh-agent.0HD26-Jul-20155.6 KiB129100

ssh-agent.1HD26-Jul-20157.2 KiB221220

ssh-agent.cHD26-Jul-201531 KiB1,2921,071

ssh-dss.cHD26-Jul-20155.2 KiB190137

ssh-ecdsa.cHD26-Jul-20154.8 KiB179125

ssh-ed25519.cHD26-Jul-20153.9 KiB150116

ssh-gss.hHD26-Jul-20154.6 KiB13588

ssh-keygen.0HD26-Jul-201526.5 KiB563449

ssh-keygen.1HD26-Jul-201525.6 KiB856855

ssh-keygen.cHD26-Jul-201569.1 KiB2,7052,360

ssh-keyscan.0HD26-Jul-20154.2 KiB11180

ssh-keyscan.1HD26-Jul-20154.2 KiB179178

ssh-keyscan.cHD26-Jul-201516.6 KiB771650

ssh-keysign.0HD26-Jul-20151.8 KiB5441

ssh-keysign.8HD26-Jul-20153 KiB9493

ssh-keysign.cHD26-Jul-20156.3 KiB261183

ssh-pkcs11-client.cHD26-Jul-20155.2 KiB241193

ssh-pkcs11-helper.0HD26-Jul-2015632 2617

ssh-pkcs11-helper.8HD26-Jul-20151.3 KiB4443

ssh-pkcs11-helper.cHD26-Jul-20157.9 KiB371290

ssh-pkcs11.cHD26-Jul-201517.5 KiB671559

ssh-pkcs11.hHD26-Jul-2015994 214

ssh-rsa.cHD26-Jul-20156.6 KiB260208

ssh-sandbox.hHD26-Jul-20151.1 KiB256

ssh.0HD26-Jul-201546.2 KiB947776

ssh.1HD26-Jul-201543 KiB1,5961,595

ssh.cHD26-Jul-201554.7 KiB1,9121,415

ssh.hHD26-Jul-20152.7 KiB10020

ssh1.hHD26-Jul-20154.1 KiB9359

ssh2.hHD26-Jul-20155.8 KiB17781

ssh_configHD26-Jul-20151.6 KiB5247

ssh_config.0HD26-Jul-201546.7 KiB890750

ssh_config.5HD26-Jul-201542 KiB1,5101,509

ssh_namespace.hHD26-Jul-201528.8 KiB576562

sshconnect.cHD26-Jul-201539.3 KiB1,4331,083

sshconnect.hHD26-Jul-20152.6 KiB7636

sshconnect1.cHD26-Jul-201521.6 KiB756499

sshconnect2.cHD26-Jul-201544.1 KiB1,7071,357

sshd.0HD26-Jul-201532.5 KiB644534

sshd.8HD26-Jul-201531 KiB994993

sshd.cHD26-Jul-201569.2 KiB2,5951,833

sshd_configHD26-Jul-20153.9 KiB149118

sshd_config.0HD26-Jul-201543.6 KiB836703

sshd_config.5HD26-Jul-201539.6 KiB1,3941,393

sshlogin.cHD26-Jul-20155.1 KiB16489

sshlogin.hHD26-Jul-2015935 248

sshpty.cHD26-Jul-20156.2 KiB259192

sshpty.hHD26-Jul-20151,009 289

sshtty.cHD26-Jul-20152.9 KiB9752

survey.sh.inHD26-Jul-20151.7 KiB7049

ttymodes.cHD26-Jul-201510.4 KiB491353

ttymodes.hHD26-Jul-20155.2 KiB176101

uidswap.cHD26-Jul-20157.6 KiB258171

uidswap.hHD26-Jul-2015716 194

umac.cHD26-Jul-201545.8 KiB1,288768

umac.hHD26-Jul-20154.6 KiB13042

umac128.cHD26-Jul-2015316 1412

uuencode.cHD26-Jul-20152.9 KiB9649

uuencode.hHD26-Jul-20151.5 KiB303

verify.cHD26-Jul-2015668 5040

version.hHD26-Jul-2015273 115

xmalloc.cHD26-Jul-20152.2 KiB10373

xmalloc.hHD26-Jul-20151,016 267

README

1See http://www.openssh.com/txt/release-6.6 for the release notes.
2
3- A Japanese translation of this document and of the OpenSSH FAQ is
4- available at http://www.unixuser.org/~haruyama/security/openssh/index.html
5- Thanks to HARUYAMA Seigo <haruyama@unixuser.org>
6
7This is the port of OpenBSD's excellent OpenSSH[0] to Linux and other
8Unices.
9
10OpenSSH is based on the last free version of Tatu Ylonen's sample
11implementation with all patent-encumbered algorithms removed (to
12external libraries), all known security bugs fixed, new features
13reintroduced and many other clean-ups.  OpenSSH has been created by
14Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt,
15and Dug Song. It has a homepage at http://www.openssh.com/
16
17This port consists of the re-introduction of autoconf support, PAM
18support, EGD[1]/PRNGD[2] support and replacements for OpenBSD library
19functions that are (regrettably) absent from other unices. This port
20has been best tested on AIX, Cygwin, HP-UX, Linux, MacOS/X,
21NetBSD, OpenBSD, OpenServer, Solaris, Unicos, and UnixWare.
22
23This version actively tracks changes in the OpenBSD CVS repository.
24
25The PAM support is now more functional than the popular packages of
26commercial ssh-1.2.x. It checks "account" and "session" modules for
27all logins, not just when using password authentication.
28
29OpenSSH depends on Zlib[3], OpenSSL[4] and optionally PAM[5].
30
31There is now several mailing lists for this port of OpenSSH. Please
32refer to http://www.openssh.com/list.html for details on how to join.
33
34Please send bug reports and patches to the mailing list
35openssh-unix-dev@mindrot.org. The list is open to posting by
36unsubscribed users.Code contribution are welcomed, but please follow the
37OpenBSD style guidelines[6].
38
39Please refer to the INSTALL document for information on how to install
40OpenSSH on your system. There are a number of differences between this
41port of OpenSSH and F-Secure SSH 1.x, please refer to the OpenSSH FAQ[7]
42for details and general tips.
43
44Damien Miller <djm@mindrot.org>
45
46Miscellania -
47
48This version of OpenSSH is based upon code retrieved from the OpenBSD
49CVS repository which in turn was based on the last free sample
50implementation released by Tatu Ylonen.
51
52References -
53
54[0] http://www.openssh.com/faq.html
55[1] http://www.lothar.com/tech/crypto/
56[2] http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html
57[3] http://www.gzip.org/zlib/
58[4] http://www.openssl.org/
59[5] http://www.openpam.org
60    http://www.kernel.org/pub/linux/libs/pam/
61    (PAM also is standard on Solaris and HP-UX 11)
62[6] http://www.openbsd.org/cgi-bin/man.cgi?query=style&sektion=9
63[7] http://www.openssh.com/faq.html
64
65$Id: README,v 1.86 2014/02/27 23:03:53 djm Exp $
66

README.dns

1How to verify host keys using OpenSSH and DNS
2---------------------------------------------
3
4OpenSSH contains support for verifying host keys using DNS as described in
5draft-ietf-secsh-dns-05.txt. The document contains very brief instructions
6on how to use this feature. Configuring DNS is out of the scope of this
7document.
8
9
10(1) Server: Generate and publish the DNS RR
11
12To create a DNS resource record (RR) containing a fingerprint of the
13public host key, use the following command:
14
15	ssh-keygen -r hostname -f keyfile -g
16
17where "hostname" is your fully qualified hostname and "keyfile" is the
18file containing the public host key file. If you have multiple keys,
19you should generate one RR for each key.
20
21In the example above, ssh-keygen will print the fingerprint in a
22generic DNS RR format parsable by most modern name server
23implementations. If your nameserver has support for the SSHFP RR
24you can omit the -g flag and ssh-keygen will print a standard SSHFP RR.
25
26To publish the fingerprint using the DNS you must add the generated RR
27to your DNS zone file and sign your zone.
28
29
30(2) Client: Enable ssh to verify host keys using DNS
31
32To enable the ssh client to verify host keys using DNS, you have to
33add the following option to the ssh configuration file
34($HOME/.ssh/config or /etc/ssh/ssh_config):
35
36    VerifyHostKeyDNS yes
37
38Upon connection the client will try to look up the fingerprint RR
39using DNS. If the fingerprint received from the DNS server matches
40the remote host key, the user will be notified.
41
42
43	Jakob Schlyter
44	Wesley Griffin
45
46
47$OpenBSD: README.dns,v 1.2 2003/10/14 19:43:23 jakob Exp $
48

README.hpn

1Notes:
2
3NONE CIPHER:
4  To use the NONE option you must have the NoneEnabled switch set on the server
5  and you MUST have *both* NoneEnabled and NoneSwitch set to yes on the client.
6  The NONE feature works with ALL ssh subsystems (as far as we can tell)
7  as long as there is no tty allocated.
8  If a user uses the -T switch to prevent a tty being created the NONE cipher
9  will be disabled.
10
11
12PERFORMANCE:
13  The performance increase will only be as good as the network and TCP stack
14  tuning on the reciever side of the connection allows.  As a rule of thumb a
15  user will need at least 10Mb/s connection with a 100ms RTT to see a doubling
16  of performance.
17  The HPN-SSH home page  http://www.psc.edu/networking/projects/hpn-ssh
18  describes this in greater detail.
19
20
21BUFFER SIZES:
22- if HPN is disabled the receive buffer size will be set to the OpenSSH default
23  of 64K.
24
25- if a HPN system connects to a non-HPN system the receive buffer will
26  be set to the HPNBufferSize value. The default is 2MB but user adjustable.
27
28- If a HPN to HPN connection is established a number of different things might
29  happen based on the user options and conditions.
30
31  Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set
32  Result: HPN Buffer Size = up to 64MB
33    This is the default state.  The HPN buffer size will grow to a maximum of
34    64MB as the TCP receive buffer grows.  The maximum HPN Buffer size of 64MB
35    is geared towards 10GigE transcontinental connections.
36
37  Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set
38  Result: HPN Buffer Size = TCP receive buffer value.
39    Users on non-autotuning systesm should disable TCPRcvBufPoll in the
40    ssh_cofig and sshd_config
41
42  Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set
43  Result: HPN Buffer Size = minmum of TCP receive buffer and HPNBufferSize.
44    This would be the system defined TCP receive buffer (RWIN).
45
46  Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf SET
47  Result: HPN Buffer Size = minmum of TCPRcvBuf and HPNBufferSize.
48    Generally there is no need to set both.
49
50  Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set
51  Result: HPN Buffer Size = grows to HPNBufferSize
52    The buffer will grow up to the maximum size specified here.
53
54  Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf SET
55  Result: HPN Buffer Size = minmum of TCPRcvBuf and HPNBufferSize.
56    Generally there is no need to set both of these, especially on autotuning
57    systems. However, if the users wishes to override the autotuning this would
58    be one way to do it.
59
60  Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf SET
61  Result: HPN Buffer Size = TCPRcvBuf.
62   This will override autotuning and set the TCP recieve buffer to the user
63   defined value.
64
65
66HPN SPECIFIC CONFIGURATION OPTIONS:
67
68- HPNDisabled=[yes/no] client/server
69  In some situations, such as transfers on a local area network, the impact
70  of the HPN code produces a net decrease in performance.  In these cases it is
71  helpful to disable the HPN functionality. By default HPNDisabled is set to no.
72
73- HPNBufferSize=[int]KB client/server
74  This is the default buffer size the HPN functionality uses when interacting
75  with non-HPN SSH installations.  Conceptually this is similar to the TcpRcvBuf
76  option as applied to the internal SSH flow control.  This value can range from
77  1KB to 64MB (1-65536).  Use of oversized or undersized buffers can cause
78  performance problems depending on the roud trip time of the network path.
79  The default size of this buffer is 2MB.
80
81- TcpRcvBufPoll=[yes/no] client/server
82  Enable or disable the polling of the TCP receive buffer through the life
83  of the connection.  You would want to make sure that this option is enabled
84  for systems making use of autotuning kernels (linux 2.4.24+, 2.6, MS Vista,
85  FreeBSD 7.x and later). Default is yes.
86
87- TcpRcvBuf=[int]KB client
88  Set the TCP socket receive buffer to n Kilobytes.  It can be set up to the
89  maximum socket size allowed by the system.  This is useful in situations where
90  the TCP receive window is set low but the maximum buffer size is set higher
91  (as is typical).  This works on a per TCP connection basis.  You can also use
92  this to artifically limit the transfer rate of the connection.  In these cases
93  the throughput will be no more than n/RTT.  The minimum buffer size is 1KB.
94  Default is the current system wide TCP receive buffer size.
95
96- NoneEnabled=[yes/no] client/server
97  Enable or disable the use of the None cipher.  Care must always be used when
98  enabling this as it will allow users to send data in the clear.  However, it
99  is important to note that authentication information remains encrypted even
100  if this option is enabled.  Set to no by default.
101
102- NoneSwitch=[yes/no] client
103  Switch the encryption cipher being used to the None cipher after
104  authentication takes place.  NoneEnabled must be enabled on both the client
105  and server side of the connection.  When the connection switches to the NONE
106  cipher a warning is sent to STDERR.  The connection attempt will fail with an
107  error if a client requests a NoneSwitch from the server that does not
108  explicitly have NoneEnabled set to yes.
109  Note: The NONE cipher cannot be used in interactive (shell) sessions and it
110  will fail silently.  Set to no by default.
111
112
113CREDITS:
114
115  This patch was conceived, designed, and led by Chris Rapier (rapier@psc.edu)
116  The majority of the actual coding for versions up to HPN12v1 was performed
117  by Michael Stevens (mstevens@andrew.cmu.edu).
118  The MT-AES-CTR cipher was implemented by Ben Bennet (ben@psc.edu).
119  This work was financed, in part, by Cisco System, Inc., the National Library
120  of Medicine, and the National Science Foundation.
121

README.platform

1This file contains notes about OpenSSH on specific platforms.
2
3AIX
4---
5As of OpenSSH 3.8p1, sshd will now honour an accounts password expiry
6settings, where previously it did not.  Because of this, it's possible for
7sites that have used OpenSSH's sshd exclusively to have accounts which
8have passwords expired longer than the inactive time (ie the "Weeks between
9password EXPIRATION and LOCKOUT" setting in SMIT or the maxexpired
10chuser attribute).
11
12Accounts in this state must have their passwords reset manually by the
13administrator.  As a precaution, it is recommended that the administrative
14passwords be reset before upgrading from OpenSSH <3.8.
15
16As of OpenSSH 4.0, configure will attempt to detect if your version
17and maintenance level of AIX has a working getaddrinfo, and will use it
18if found.  This will enable IPv6 support.  If for some reason configure
19gets it wrong, or if you want to build binaries to work on earlier MLs
20than the build host then you can add "-DBROKEN_GETADDRINFO" to CFLAGS
21to force the previous IPv4-only behaviour.
22
23IPv6 known to work: 5.1ML7 5.2ML2 5.2ML5
24IPv6 known broken: 4.3.3ML11 5.1ML4
25
26If you wish to use dynamic libraries that aren't in the normal system
27locations (eg IBM's OpenSSL and zlib packages) then you will need to
28define the environment variable blibpath before running configure, eg
29
30blibpath=/lib:/usr/lib:/opt/freeware/lib ./configure \
31  --with-ssl-dir=/opt/freeware --with-zlib=/opt/freeware
32
33If sshd is built with the WITH_AIXAUTHENTICATE option (which is enabled
34by default) then sshd checks that users are permitted via the
35loginrestrictions() function, in particular that the user has the
36"rlogin" attribute set.  This check is not done for the root account,
37instead the PermitRootLogin setting in sshd_config is used.
38
39
40Cygwin
41------
42To build on Cygwin, OpenSSH requires the following packages:
43gcc, gcc-mingw-core, mingw-runtime, binutils, make, openssl,
44openssl-devel, zlib, minres, minires-devel.
45
46
47Darwin and MacOS X
48------------------
49Darwin does not provide a tun(4) driver required for OpenSSH-based
50virtual private networks. The BSD manpage still exists, but the driver
51has been removed in recent releases of Darwin and MacOS X.
52
53Nevertheless, tunnel support is known to work with Darwin 8 and
54MacOS X 10.4 in Point-to-Point (Layer 3) and Ethernet (Layer 2) mode
55using a third party driver. More information is available at:
56	http://www-user.rhrk.uni-kl.de/~nissler/tuntap/
57
58
59Linux
60-----
61
62Some Linux distributions (including Red Hat/Fedora/CentOS) include
63headers and library links in the -devel RPMs rather than the main
64binary RPMs. If you get an error about headers, or complaining about a
65missing prerequisite then you may need to install the equivalent
66development packages.  On Redhat based distros these may be openssl-devel,
67zlib-devel and pam-devel, on Debian based distros these may be
68libssl-dev, libz-dev and libpam-dev.
69
70
71Solaris
72-------
73If you enable BSM auditing on Solaris, you need to update audit_event(4)
74for praudit(1m) to give sensible output.  The following line needs to be
75added to /etc/security/audit_event:
76
77	32800:AUE_openssh:OpenSSH login:lo
78
79The BSM audit event range available for third party TCB applications is
8032768 - 65535.  Event number 32800 has been choosen for AUE_openssh.
81There is no official registry of 3rd party event numbers, so if this
82number is already in use on your system, you may change it at build time
83by configure'ing --with-cflags=-DAUE_openssh=32801 then rebuilding.
84
85
86Platforms using PAM
87-------------------
88As of OpenSSH 4.3p1, sshd will no longer check /etc/nologin itself when
89PAM is enabled.  To maintain existing behaviour, pam_nologin should be
90added to sshd's session stack which will prevent users from starting shell
91sessions.  Alternatively, pam_nologin can be added to either the auth or
92account stacks which will prevent authentication entirely, but will still
93return the output from pam_nologin to the client.
94
95
96$Id: README.platform,v 1.10 2009/08/28 23:14:48 dtucker Exp $
97

README.privsep

1Privilege separation, or privsep, is method in OpenSSH by which
2operations that require root privilege are performed by a separate
3privileged monitor process.  Its purpose is to prevent privilege
4escalation by containing corruption to an unprivileged process.
5More information is available at:
6	http://www.citi.umich.edu/u/provos/ssh/privsep.html
7
8Privilege separation is now enabled by default; see the
9UsePrivilegeSeparation option in sshd_config(5).
10
11On systems which lack mmap or anonymous (MAP_ANON) memory mapping,
12compression must be disabled in order for privilege separation to
13function.
14
15When privsep is enabled, during the pre-authentication phase sshd will
16chroot(2) to "/var/empty" and change its privileges to the "sshd" user
17and its primary group.  sshd is a pseudo-account that should not be
18used by other daemons, and must be locked and should contain a
19"nologin" or invalid shell.
20
21You should do something like the following to prepare the privsep
22preauth environment:
23
24	# mkdir /var/empty
25	# chown root:sys /var/empty
26	# chmod 755 /var/empty
27	# groupadd sshd
28	# useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd
29
30/var/empty should not contain any files.
31
32configure supports the following options to change the default
33privsep user and chroot directory:
34
35  --with-privsep-path=xxx Path for privilege separation chroot
36  --with-privsep-user=user Specify non-privileged user for privilege separation
37
38Privsep requires operating system support for file descriptor passing.
39Compression will be disabled on systems without a working mmap MAP_ANON.
40
41PAM-enabled OpenSSH is known to function with privsep on AIX, FreeBSD,
42HP-UX (including Trusted Mode), Linux, NetBSD and Solaris.
43
44On Cygwin, Tru64 Unix, OpenServer, and Unicos only the pre-authentication
45part of privsep is supported.  Post-authentication privsep is disabled
46automatically (so you won't see the additional process mentioned below).
47
48Note that for a normal interactive login with a shell, enabling privsep
49will require 1 additional process per login session.
50
51Given the following process listing (from HP-UX):
52
53     UID   PID  PPID  C    STIME TTY       TIME COMMAND
54    root  1005     1  0 10:45:17 ?         0:08 /opt/openssh/sbin/sshd -u0
55    root  6917  1005  0 15:19:16 ?         0:00 sshd: stevesk [priv]
56 stevesk  6919  6917  0 15:19:17 ?         0:03 sshd: stevesk@2
57 stevesk  6921  6919  0 15:19:17 pts/2     0:00 -bash
58
59process 1005 is the sshd process listening for new connections.
60process 6917 is the privileged monitor process, 6919 is the user owned
61sshd process and 6921 is the shell process.
62
63$Id: README.privsep,v 1.16 2005/06/04 23:21:41 djm Exp $
64

README.tun

1How to use OpenSSH-based virtual private networks
2-------------------------------------------------
3
4OpenSSH contains support for VPN tunneling using the tun(4) network
5tunnel pseudo-device which is available on most platforms, either for
6layer 2 or 3 traffic.
7
8The following brief instructions on how to use this feature use
9a network configuration specific to the OpenBSD operating system.
10
11(1) Server: Enable support for SSH tunneling
12
13To enable the ssh server to accept tunnel requests from the client, you
14have to add the following option to the ssh server configuration file
15(/etc/ssh/sshd_config):
16
17	PermitTunnel yes
18
19Restart the server or send the hangup signal (SIGHUP) to let the server
20reread it's configuration.
21
22(2) Server: Restrict client access and assign the tunnel
23
24The OpenSSH server simply uses the file /root/.ssh/authorized_keys to
25restrict the client to connect to a specified tunnel and to
26automatically start the related interface configuration command. These
27settings are optional but recommended:
28
29	tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... reyk@openbsd.org
30
31(3) Client: Configure the local network tunnel interface
32
33Use the hostname.if(5) interface-specific configuration file to set up
34the network tunnel configuration with OpenBSD. For example, use the
35following configuration in /etc/hostname.tun0 to set up the layer 3
36tunnel on the client:
37
38	inet 192.168.5.1 255.255.255.252 192.168.5.2
39
40OpenBSD also supports layer 2 tunneling over the tun device by adding
41the link0 flag:
42
43	inet 192.168.1.78 255.255.255.0 192.168.1.255 link0
44
45Layer 2 tunnels can be used in combination with an Ethernet bridge(4)
46interface, like the following example for /etc/bridgename.bridge0:
47
48	add tun0
49	add sis0
50	up
51
52(4) Client: Configure the OpenSSH client
53
54To establish tunnel forwarding for connections to a specified
55remote host by default, use the following ssh client configuration for
56the privileged user (in /root/.ssh/config):
57
58	Host sshgateway
59		Tunnel yes
60		TunnelDevice 0:any
61		PermitLocalCommand yes
62	        LocalCommand sh /etc/netstart tun0
63
64A more complicated configuration is possible to establish a tunnel to
65a remote host which is not directly accessible by the client.
66The following example describes a client configuration to connect to
67the remote host over two ssh hops in between. It uses the OpenSSH
68ProxyCommand in combination with the nc(1) program to forward the final
69ssh tunnel destination over multiple ssh sessions.
70
71	Host access.somewhere.net
72	        User puffy
73	Host dmzgw
74	        User puffy
75	        ProxyCommand ssh access.somewhere.net nc dmzgw 22
76	Host sshgateway
77	        Tunnel Ethernet
78	        TunnelDevice 0:any
79	        PermitLocalCommand yes
80	        LocalCommand sh /etc/netstart tun0
81	        ProxyCommand ssh dmzgw nc sshgateway 22
82
83The following network plan illustrates the previous configuration in
84combination with layer 2 tunneling and Ethernet bridging.
85
86+--------+       (          )      +----------------------+
87| Client |------(  Internet  )-----| access.somewhere.net |
88+--------+       (          )      +----------------------+
89    : 192.168.1.78                             |
90    :.............................         +-------+
91     Forwarded ssh connection    :         | dmzgw |
92     Layer 2 tunnel              :         +-------+
93                                 :             |
94                                 :             |
95                                 :      +------------+
96                                 :......| sshgateway |
97                                      | +------------+
98--- real connection                 Bridge ->  |          +----------+
99... "virtual connection"                     [ X ]--------| somehost |
100[X] switch                                                +----------+
101                                                          192.168.1.25
102
103(5) Client: Connect to the server and establish the tunnel
104
105Finally connect to the OpenSSH server to establish the tunnel by using
106the following command:
107
108	ssh sshgateway
109
110It is also possible to tell the client to fork into the background after
111the connection has been successfully established:
112
113	ssh -f sshgateway true
114
115Without the ssh configuration done in step (4), it is also possible
116to use the following command lines:
117
118	ssh -fw 0:1 sshgateway true
119	ifconfig tun0 192.168.5.1 192.168.5.2 netmask 255.255.255.252
120
121Using OpenSSH tunnel forwarding is a simple way to establish secure
122and ad hoc virtual private networks. Possible fields of application
123could be wireless networks or administrative VPN tunnels.
124
125Nevertheless, ssh tunneling requires some packet header overhead and
126runs on top of TCP. It is still suggested to use the IP Security
127Protocol (IPSec) for robust and permanent VPN connections and to
128interconnect corporate networks.
129
130	Reyk Floeter
131
132$OpenBSD: README.tun,v 1.4 2006/03/28 00:12:31 deraadt Exp $
133