zsh-users
 help / Atom feed
* ssh and chdir to my PWD on the local computer
@ 2019-07-19 17:40 TJ Luoma
  2019-07-19 21:45 ` Roman Perepelitsa
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: TJ Luoma @ 2019-07-19 17:40 UTC (permalink / raw)
  To: Zsh MailingList

I wanted to be able to ssh to another computer and immediately chdir
to the same directory that I was using locally.

I came up with _a_ solution, but I'm not sure if it's a good one, or
if there would be other ways to do this more easily/better, so I'm
sharing it here.

Since all of the computers are under my own control, I was able to
accomplish this by editing the ssh_config and sshd_config files to add
`SendEnv CWD` and `AcceptEnv CWD` respectively.

/etc/ssh/ssh_config:   SendEnv CWD

/etc/ssh/sshd_config: AcceptEnv CWD

I also added this to the end of my .zshrc file:

if [[ "$CWD" != "" ]]
then
    echo "changing to '$CWD'"
    cd "$CWD"
fi

Then I was able to use this by connecting to my remote computer like this:

        CWD=$PWD ssh remote.host.tld

The last part seems a little clunky, although I'm sure I could make a
function or something, but I wondered if anyone else has solved this a
different way, and if so, how… or does anyone have a suggestion how to
do this differently / better?

Thanks for your time

Tj


--
TJ Luoma
TJ @ MacStories
Personal Website: luo.ma (aka RhymesWithDiploma.com)
Twitter: @tjluoma

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ssh and chdir to my PWD on the local computer
  2019-07-19 17:40 ssh and chdir to my PWD on the local computer TJ Luoma
@ 2019-07-19 21:45 ` Roman Perepelitsa
  2019-07-20 16:36 ` gi1242+zsh
  2019-07-22 15:55 ` Philippe Troin
  2 siblings, 0 replies; 4+ messages in thread
From: Roman Perepelitsa @ 2019-07-19 21:45 UTC (permalink / raw)
  To: TJ Luoma; +Cc: Zsh MailingList

On Fri, Jul 19, 2019 at 7:41 PM TJ Luoma <luomat@gmail.com> wrote:
>
> I wanted to be able to ssh to another computer and immediately chdir
> to the same directory that I was using locally.

When I need to run some commands before an interactive SSH session, I
do it like this:

    ssh -t user@host "cd ${(q)PWD}; zsh -i"

It's quite flexible.

Roman.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ssh and chdir to my PWD on the local computer
  2019-07-19 17:40 ssh and chdir to my PWD on the local computer TJ Luoma
  2019-07-19 21:45 ` Roman Perepelitsa
@ 2019-07-20 16:36 ` gi1242+zsh
  2019-07-22 15:55 ` Philippe Troin
  2 siblings, 0 replies; 4+ messages in thread
From: gi1242+zsh @ 2019-07-20 16:36 UTC (permalink / raw)
  To: zsh-users


On Fri, Jul 19, 2019 at 01:40:02PM -0400, TJ Luoma wrote:

> /etc/ssh/ssh_config:   SendEnv CWD
> 
> /etc/ssh/sshd_config: AcceptEnv CWD

I used to pass variables to ssh by editing the configs this way; but
having multiple machines (some of which I don't have root on) made it
too clunky.

Now I usually do

    ssh -t host VAR=value ... zsh

You can save that as a shell alias; or edit ~/.ssh/config and define
RemoteCommand for the hosts you want.

GI

-- 
If you are not part of the solution, you are part of the precipitate.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ssh and chdir to my PWD on the local computer
  2019-07-19 17:40 ssh and chdir to my PWD on the local computer TJ Luoma
  2019-07-19 21:45 ` Roman Perepelitsa
  2019-07-20 16:36 ` gi1242+zsh
@ 2019-07-22 15:55 ` Philippe Troin
  2 siblings, 0 replies; 4+ messages in thread
From: Philippe Troin @ 2019-07-22 15:55 UTC (permalink / raw)
  To: TJ Luoma, Zsh MailingList

On Fri, 2019-07-19 at 13:40 -0400, TJ Luoma wrote:
> I wanted to be able to ssh to another computer and immediately chdir
> to the same directory that I was using locally.
> 
> I came up with _a_ solution, but I'm not sure if it's a good one, or
> if there would be other ways to do this more easily/better, so I'm
> sharing it here.
> 
> Since all of the computers are under my own control, I was able to
> accomplish this by editing the ssh_config and sshd_config files to
> add
> `SendEnv CWD` and `AcceptEnv CWD` respectively.

I use this function:

   scd() {
     local term=
     case $# in
       (0)
         echo "usage: $0 <host> [<command> [<arguments>...]]"
         return 1
         ;;
       (1)
         term=-t
         ;;
     esac
     local host=$1
     shift
     ssh $term $host cd ${(q)PWD} '&& exec $SHELL' ${1+-c} ${(qj: :)*}
   }

Phil.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-19 17:40 ssh and chdir to my PWD on the local computer TJ Luoma
2019-07-19 21:45 ` Roman Perepelitsa
2019-07-20 16:36 ` gi1242+zsh
2019-07-22 15:55 ` Philippe Troin

zsh-users

Archives are clonable: git clone --mirror http://inbox.vuxu.org/zsh-users

Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.zsh.users


AGPL code for this site: git clone https://public-inbox.org/ public-inbox