AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 499565
Accepted
Bob Flemming
Bob Flemming
Asked: 2013-04-16 09:19:01 +0800 CST2013-04-16 09:19:01 +0800 CST 2013-04-16 09:19:01 +0800 CST

当我 SSH 到服务器时更改默认目录

  • 772

我想知道是否有办法更改我通过 SSH 进入我的 Ubuntu 服务器后进入的默认目录。

当我登录我的服务器时,99% 的时间都是为了访问特定目录中的文件:

/var/www/websites

是否有我可以编辑的配置文件,以确保我在登录时直接进入该目录?

linux
  • 5 5 个回答
  • 74936 Views

5 个回答

  • Voted
  1. Best Answer
    Dennis Kaarsemaker
    2013-04-16T09:22:53+08:002013-04-16T09:22:53+08:00

    可以通过三种方式实现这一目标:

    • 添加cd /var/www/websites到你的末尾.bash_profile。这仅针对交互式登录(例如 ssh)执行。
    • 添加cd /var/www/websites到你的末尾.bashrc。我在我们的 puppetmasters 上使用这个,因为我总是想在 /etc/puppet/environments/dkaarsemaker 那里而不是我的 homedir :-)
    • 将服务器上的主目录更改为 /var/www/websites(这不是一个好主意)
    • 90
  2. gertas
    2016-12-24T17:03:34+08:002016-12-24T17:03:34+08:00

    警告!首先在非必要帐户上尝试此操作,因为如果您在命令中出错,您可能会失去对远程系统的访问权限。


    如果您使用密钥进行 SSH 登录,那么您可以通过在远程服务器上command=的密钥之前添加前缀来更改路径。例子:~/.ssh/authorized_keys

    command="cd /var/www/websites ; /bin/bash -l" ssh-rsa AAA.....rest of the key
    

    可以为同一用户生成和使用多个密钥。服务器上的一个键可能包含另一个可能不包含的命令 - 这样您就可以在登录时选择预期的行为。您可以简单地用local 将其包装起来~/.ssh/config:

    Host websites-my-host
        HostName <realhostname>
        IdentityFile ~/.ssh/<key1>  #on the server key with "command"
        User webmaster
    
    Host my-host
        HostName <realhostname>
        IdentityFile ~/.ssh/<key2>  #on the server key without command
        User webmaster
    

    这是将要发生的事情:

    local$ ssh websites-my-host
    webmaster@realhostname:/var/www/websites$ _
    

    或者:

    local$ ssh my-host
    webmaster@realhostname:~$ _
    
    • 24
  3. igorsantos07
    2020-12-06T14:48:34+08:002020-12-06T14:48:34+08:00

    从 OpenSSH 7.6 开始,您可以使用新的 RemoteCommand 选项来实现这一点。

    在你的~/.ssh/config:

    Host websites-my-host
        HostName <realhostname>
        IdentityFile ~/.ssh/keyfile
        User webmaster
        RequestTTY force # check if this is necessary
        RemoteCommand cd /var/www/websites && bash -l
    
    • 20
  4. Victor Jerlin
    2017-10-26T06:38:53+08:002017-10-26T06:38:53+08:00

    Openssh sshd 默认接受来自客户端的这些环境变量:

    AcceptEnv LANG LC_*
    

    您可以使用它从客户端的本地环境向服务器发送一个值,如下所示:

    LC_CDPATH=/var/www/websites ssh -o SendEnv=LC_CDPATH user@server
    

    您可以将 SendEnv 指令放在 ~/.ssh/config 中,这样您就不必将它包含在命令行中。

    如果将以下内容放在 ~/.profile 中(只影响交互式登录使用 .profile,影响所有登录使用 .bashrc):

    if [ "$LC_CDPATH" -a -d "$LC_CDPATH" ]; then
      cd "$LC_CDPATH";
    fi
    

    然后它会在您登录时自动将目录更改为环境变量中指定的目录,如果它被指定并且它是一个目录。

    • 10
  5. pdropi
    2021-06-10T10:52:47+08:002021-06-10T10:52:47+08:00

    更改整个主目录是另一种选择: usermod -d /var/www/websites yourusername

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve