如何配置ssh
知道我的用户名?
默认情况下,ssh
使用当前的用户名,但这在我的情况下不正确。
我正在使用一台借来的笔记本电脑,我的用户名是loaner
,但我想告诉ssh
我的用户名是buck
。
加分项:我在家的用户名是bgolemon。如果我能针对每个主机配置用户名,那就更好了。
如何配置ssh
知道我的用户名?
默认情况下,ssh
使用当前的用户名,但这在我的情况下不正确。
我正在使用一台借来的笔记本电脑,我的用户名是loaner
,但我想告诉ssh
我的用户名是buck
。
加分项:我在家的用户名是bgolemon。如果我能针对每个主机配置用户名,那就更好了。
在~/.ssh
目录下创建名为config
的文件。您可以在该文件中添加:
Host *
User buck
或者添加
Host example
HostName example.net
User buck
第二个示例将设置一个特定于用户名和主机名的用户名,而第一个示例仅设置一个用户名。当您使用第二个示例时,您不需要使用 ssh example.net
;ssh example
就足够了。man ssh_config
的说法,值得指出的是:“对于每个参数来说,第一个获取到的值将被使用,因此更多针对特定主机的声明应该放在文件的开头,而通用默认设置应该放在结尾。” 因此,“Host *”部分应该放在最后。 - quodlibetorHost *
,User jdoe
,然后定义了 Host example
,HostName abc.example.com
,User root
,尝试 ssh example
将与输入 ssh jdoe@abc.example.com
相同。为了定义 SSH 默认值(即 User root
),需要将 Host *
指令放在配置文件的底部。 - mr.bHost *
移动到文件末尾,一切都可以按照我想要的方式工作。 - donatJman ssh_config
说:
User
指定要登录的用户。当在不同的机器上使用不同的用户名时,这非常有用。这样可以避免在命令行上记住用户名所带来的麻烦。
alias sshb="ssh buck@host"
为了使别名在您的终端中可用,您可以关闭并重新打开终端,或者运行以下命令:
source ~/.bashrc
然后您只需输入以下内容即可连接:
sshb
.ssh/config
并进行适当的设置。我来寻找“*”通配符(并学习它应该在底部)。 - mazunki有一个名为sshez
的Ruby gem可以与您的ssh
配置文件进行交互。
您只需要运行sshez <alias> username@example.com -p <port-number>
,然后就可以使用ssh <alias>
连接。它还非常有用,因为您可以使用sshez list
列出别名,并可以使用sshez remove alias
轻松删除它们。