有没有办法将您的 ssh 用户默认为除当前登录用户名之外的其他用户?

有没有办法将您的 ssh 用户默认为除当前登录用户名之外的其他用户?

我在家里使用虚拟机进行工作。我的工作包括每天通过 ssh 连接到几台计算机以处理各种事情……使用符号ssh user@server很容易,但我在编写一些脚本时遇到了一些问题。当我的脚本运行时,它会尝试使用我当前的用户而不是与我工作中的 LDAP 帐户关联的用户 ssh 连接到计算机(因此无法识别我的私钥)。更具体地说,我在家里的用户是caleb,而我在工作中的用户是ctote

有没有办法修改我的.bashrc或配置以强制在尝试连接时.ssh始终使用 ssh ?ctote

答案1

~/.ssh/config是的,使用 SSH 客户端配置。最简单的方法是使用以下两行创建本地用户配置:

Host *
User ctote

这将匹配所有主机并将登录名应用于ctote它。

要对您经常连接的单个主机应用/覆盖它,例如使用:

Host myhost
User myusername
Hostname server01.subdomain01.longnamehuh.tld
Port 2222

使

ssh [email protected] -p2222

进入

ssh myhost

奖励:也适用于 sftp/scp/git 等。您还可以像这个用例一样施展魔法:如何使用一个命令通过 B SSH 连接到机器 A?

查看 SSH 客户端配置的手册页,了解您可以指定的更多选项以及确切的语法。

man ssh_config

答案2

当然,您可以创建一个~/.ssh/config文件,并在其中:

Host laptop
    User another-user

您可以通过像这样的主机匹配选项指定大多数 SSH 选项。

相关内容