我每天都会连接许多服务器。我的 ssh 配置默认用户名是“admin”
但是服务器来自不同的环境并且用户名可以改变。有时它会是“ec2-user”或“exploitation”或“something-else”...
SSH 有没有办法记住最后一次与 192.0.2.1/server.example.org 的连接是与“ec2-user”一起的吗?
所以下次我不必指定“-l ec2-user”。
答案1
您可以在您的配置文件中自行设置这些$HOME/.ssh/config
。
例如:
Host *.amazonaws.com
User ec2-user
Host 192.0.2.1
User centos
答案2
自我回答,我最终使用这个脚本作为“ssh”的包装器
#!/bin/bash
SSH_OPTIONS="-o PasswordAuthentication=no"
ssh $SSH_OPTIONS $*
if [ $? -eq 255 ]
then
ssh -l admin $SSH_OPTIONS $*
fi
if [ $? -eq 255 ]
then
ssh -l exploit $SSH_OPTIONS $*
fi
if [ $? -eq 255 ]
then
ssh -l ec2-user $SSH_OPTIONS $*
fi