Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Encryption Security

SSH Key Management Part 2 109

LKH writes "The second part of Daniel Robbins' ssh key management articles is up at developer works. Daniel covers passphrase-less authentication using keychain."
This discussion has been archived. No new comments can be posted.

SSH Key Management Part 2

Comments Filter:
  • telnet (Score:1, Insightful)

    by Anonymous Coward on Sunday September 09, 2001 @11:51PM (#2272130)
    it's about time we got rid of telnet and only allowed ssh. telnet needs to be phased out.
  • Re:telnet (Score:1, Insightful)

    by Anonymous Coward on Monday September 10, 2001 @12:15AM (#2272166)
    No, the telnet daemon needs to be phased out. Telnet itself is still excellent to use a debugging tool to create a raw connection to a TCP port.
  • Re:telnet (Score:3, Insightful)

    by MavEtJu ( 241979 ) <slashdot&mavetju,org> on Monday September 10, 2001 @12:17AM (#2272169) Homepage
    telnet needs to be phased out.

    Regarding the telnet-service, yes.
    Regarding the telnet-protocol, no.
    Regarding the telnet-program, no.

    It's being used for more than port 23 only you know...

    Edwin, can't live without small basic debugging tools.
  • by ftobin ( 48814 ) on Monday September 10, 2001 @12:22AM (#2272175) Homepage

    Personally, I like to use CFS, the Cryptographic File System, to store my filesystem-stored secrets. CFS works as an NFS loopback server, encrypting directories using a symmetric cipher.

    When you 'cattach' (unlock) a CFS directory by entering the passphrase needed to decrypt the directory, you can then access the directory as normally as any other directory. The encryption/decryption is done on a need-to basis; sorta like PGPDisk for Windows, I imagine.

    The reason I like to use CFS over thing such as ssh-agent is that has several features and advantages over ssh-agent:

    • One can set attached directories to detach after a set idletime or a fixed time. I find this very convienent, and an almost mandatory security measure. For example, I have my ssh keys set to detach after 20 minutes of non-use.

    • It is much easier and plain to use decrypted secrets in multiple concurrent sessions than ssh-agent. For example, a certain environment need not be mirrored across several xterms that are all accessing the secrets (e.g., I ssh from different xterm's).

      With ssh-agent, it can be cumbersome to keep this in-sync across multiple windows.

      Of course, it can help to start ssh-agent with the X session, but this is not always available; for example, I could have multiple console terminals open, all accessing my ssh keys. Or I could login multiple times to a box which has ssh keys on it remotely several times (open up several ssh connections); I want to be able to unlock the secrets in one session and have it apply to the others.

      Personally, I think CFS's approach to having secrets available across multiple concurrent sessions is a 'better' approach than some hacks that have been suggested.

    • CFS can much more easily be used to store other secrets, such as my GnuPG keys. It is a good general-purpose secret-storer.

    Unfortunately, I can't find a good URL for CFS, so you'll have to do some searching on your own. It's in the FreeBSD ports collection, though.

  • by Dwonis ( 52652 ) on Monday September 10, 2001 @12:29AM (#2272185)
    Here's the problem with what you're doing: you can't do authentication forwarding, which sucks big-time when you are scping from one remote machine to another remote machine.
  • by Anonymous Coward on Monday September 10, 2001 @01:20AM (#2272264)
    Such as when you are trapped at a client site and they have Wintel boxes and vt320s. If you can't telnet, you can't get to resources you might need.

    Sometimes it is important to be able to get through to a less important server. Systems using ssh should perhaps WARN whenever a telnet login is sucessful (as a reminder to change passwords) but to say it should be phased out is very naieve, and absolutely WRONG.
  • Wish list (Score:3, Insightful)

    by XNormal ( 8617 ) on Monday September 10, 2001 @01:31AM (#2272276) Homepage
    An ssh-agent which supports physical tokens like the Dallas semiconductors iButton [ibutton.com] (decoder rings are cool!)

    Using ssh-agent to access cfs encrypted directories.

    Using ssh-agent to unlock GnuPG keys.

    All of the above, tunnelled through ssh-agent forwarding.

    Using the same physical token to log in locally.

    World peace.
  • Agent risks (Score:5, Insightful)

    by Dr. Tom ( 23206 ) <tomh@nih.gov> on Monday September 10, 2001 @02:06AM (#2272322) Homepage
    Agent systems are interesting, and there is something to be said about the trend from simple server/client systems to server/agent/client systems. Agents can be very helpful in brokering transactions locally that involve sensitive information, or information that needs to be accessed repetitively.

    However, agents can be complex to install and configure, and can potentially decrease security. The agent knows all your secrets, after all. Especially, using non-local agents is highly inadvisable.

    It is also worth pointing out that agents can be used with password based systems as well. Unfortunately, SSH implementations are only using agents for key management. It is possible, and highly desirable when a chain of hosts is involved, for the remote side to contact your local agent to manage a remote passphrase-based authentication, using a protocol such as SRP that doesn't leak. An SRP agent would live on your desktop, present a familiar interface that is unambiguous, and provide secure authentications network wide, even chained. You never enter or store any security information on any host other than your own local client (this also solves all traffic analysis attacks based on password length).

    A well designed agent needs to be a library, with pluggable user interfaces that are adapted for all the different GUI/CLI systems out there. Agent interfaces need to be familiar and distinct. There is a huge risk in communicating with an agent over a CLI, for example, when you can't distinguish the agent's prompts from the server's prompts. Ideally, agents should be started and configured automatically on the client machine by the client software. Sensitive information should time out.

    You also don't want your agent to become a huge database of fluff with things like addresses and phone numbers. Use a database for that, and equip your database with an agent, and your agents with protocols that let them perform client/agent/agent/server transactions (with only LOCAL agents of course).

    MS's Passport, for example, violates all these rules. It's non-local, it's full of tons of information that's irrelevent to most transactions, and the interface is variable and confusing.

    It would be great if projects like OpenSSH develop (or use) full-blown agents and agent protocols that allowed these features. I for one would be interested in hearing about general purpose client/agent/server architectures and protocols that have already been developed for use in Free Software projects, and/or TLS-based protocols that use agents. Any ideas?

  • by *nixie ( 264400 ) on Monday September 10, 2001 @02:18AM (#2272335)
    Is the server running commercial SSH? If so, you'll need to convert the public key using ssh-keygen -e before putting it on the server. Also, the authorization file is a little different; it doesn't contain the key directly.

    My ISP's server is running commercial SSH 3.something. I have an .ssh2 directory there, containing my (converted) public key and a file called "authorization" which points to it:

    >cat authorization
    Key id_dsa.pub

    Hope that helps.

"A car is just a big purse on wheels." -- Johanna Reynolds

Working...