From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Barry Margolin Newsgroups: gmane.emacs.help Subject: Re: specifying identity file for scp within tramp Date: Mon, 22 Dec 2008 13:20:47 -0500 Organization: A noiseless patient Spider Message-ID: References: <97c43290-2786-4b18-aaa8-429005829796@s9g2000prm.googlegroups.com> <50944d4c-7190-41f4-90ec-17755ab0b61d@k36g2000pri.googlegroups.com> NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1229971252 3371 80.91.229.12 (22 Dec 2008 18:40:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Dec 2008 18:40:52 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Dec 22 19:41:58 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LEpiu-0006Nf-U1 for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Dec 2008 19:41:50 +0100 Original-Received: from localhost ([127.0.0.1]:44902 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LEphi-00033z-78 for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Dec 2008 13:40:34 -0500 Original-Path: news.stanford.edu!headwall.stanford.edu!news.glorb.com!news2!news.ecp.fr!news.motzarella.org!motzarella.org!news.motzarella.org!barmar Original-Newsgroups: gnu.emacs.help Original-Lines: 125 Original-X-Trace: news.eternal-september.org U2FsdGVkX1+grPsV6LIOLIMdfNrdjNGjPt6HlWn6p+zAWQGtcAu/yxuTQ6qsQfIjobSggC/RdjqpGyuiY7FNMm+rVgd4migf+FVOhy7FSipmUZrk2AWaAvQfM0Lyy4Lqz2el74ZMuJM= Original-X-Complaints-To: Please send complaints to abuse@motzarella.org with full headers Original-NNTP-Posting-Date: Mon, 22 Dec 2008 18:20:47 +0000 (UTC) X-Auth-Sender: U2FsdGVkX19ltqUBsxwbGMBlz0O/IVuvgMfb3tAjxy8= Cancel-Lock: sha1:8lun8tGGvFA+QCRvZkWib4rSGYc= User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) Mail-Copies-To: nobody Original-Xref: news.stanford.edu gnu.emacs.help:165572 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:60902 Archived-At: In article , À¯×°×² wrote: > On Dec 22, 12:00 am, Barry Margolin wrote: > > In article > > <50944d4c-7190-41f4-90ec-17755ab0b...@k36g2000pri.googlegroups.com>, > > > > > > > >  À¯×°×² wrote: > > > On Dec 20, 9:45 am, Barry Margolin wrote: > > > > In article > > > > , > > > > > >  À¯×°×² wrote: > > > > > On Dec 19, 1:38 pm, Barry Margolin wrote: > > > > > > In article > > > > > > <97c43290-2786-4b18-aaa8-429005829...@s9g2000prm.googlegroups.com>, > > > > > > > >  À¯×°×² wrote: > > > > > > > Can anyone tell me if it's possible to direct tramp to use a > > > > > > > particular set of ssh keys when connecting to a particular > > > > > > > server? I'm > > > > > > > trying to use scp with the equivalent of the -i option, what I > > > > > > > tried > > > > > > > below just seems to confuse tramp, is there some other way I > > > > > > > should be > > > > > > > doing this? > > > > > > > > > (add-to-list 'tramp-default-method-alist > > > > > > >               '("remote_server" "" "scp -i /Users/my_user/.ssh/ > > > > > > > my_key")) > > > > > > > > Why not use the IdentityFile directives in ~/.ssh/config? > > > > > > > I'm already using a set of keys for regular ssh login, and there's a > > > > > passphrase on that set. I was trying to create a second set > > > > > specifically for tramp to use, with no passphrase and restricted > > > > > permissions on the server side. So far as I know, I can only provide > > > > > a > > > > > single IdentityFile per host in ssh/config -- do you know of any > > > > > other > > > > > ways to automatically distinguish the proper keys for tramp to use > > > > > with my server? > > > > > > I think you have to define a new method. > > > > > > (defvar my-scp-extra-args '("-i" "/Users/my_user/.ssh/my_key")) > > > > (let* ((scp-method (assoc "scp" tramp-methods)) > > > >        (new-method (copy-tree (cdr scp-method))) > > > >        (login-args (assoc 'tramp-login-args new-method)) > > > >        (copy-args (assoc 'tramp-copy-args new-method))) > > > >   (setf (cadr login-args) > > > >         `(,@my-scp-extra-args ,@(cadr login-args)) > > > >         (cadr copy-args) > > > >         `(,@my-scp-extra-args ,@(cadr copy-args))) > > > >   (push `("myscp" . ,new-method) tramp-methods)) > > > > > > Then set the default method for remote_server to "myscp". > > > > > Thanks for this! I'm going to ask a fairly stupid follow-up question. > > > I put this in my emacs, but it raised this error "void variable tramp- > > > methods". I thought maybe you had to quote tramp-methods, but after I > > > did it started raising "Wrong type argument: listp, tramp-methods". > > > I'm not quite sure where to go from here. If I'm running 22.3.1, I > > > shouldn't have to have (require 'tramp) at the top of my .emacs, > > > should I? I added that, for the heck of it, and it started complaining > > > about other tramp-related variables being undefined elsewhere in > > > my .emacs file. > > > > > Sorry to chump out, hoping for a little more help... > > > > You probably need to put: > > > > (load "tramp") > > > > before this, so that the variable will be defined.  It's not normally > > defined until tramp is auto-loaded. > > Turns out my main problem was reading the docs for tramp 2.1.14 while > actually using tramp 2.0.9. Updated tramp and all is working, though I > had to change these two lines > > `(,@my-scp-extra-args ,@(cadr login-args)) > `(,@my-scp-extra-args ,@(cadr copy-args))) > > to this > > `(,my-scp-extra-args ,@(cadr login-args)) > `(,my-scp-extra-args ,@(cadr copy-args))) > > Since login-args is supposed to be a list of lists. Not sure if that > was the proper way to do it, but it works. I have temp 2.0.58-pre, and login-args is just a list. Here's what the two entries in tramp-methods look like: ("myscp" (tramp-connection-function tramp-open-connection-rsh) (tramp-login-program "ssh") (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh") (tramp-login-args ("-i" "/Users/my_user/.ssh/my_key" "-e" "none")) (tramp-copy-args ("-i" "/Users/my_user/.ssh/my_key")) (tramp-copy-keep-date-arg "-p") (tramp-password-end-of-line nil)) ("scp" (tramp-connection-function tramp-open-connection-rsh) (tramp-login-program "ssh") (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none")) (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p") (tramp-password-end-of-line nil)) -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me *** *** PLEASE don't copy me on replies, I'll read them in the group ***