我的问题是,每次我必须在Linux服务器上登录给定帐户(有很多)时,我都必须去拉一个文本文件,而不是我必须查看用户名和ip。
示例:"ssh some_user@xxx.xxx.xxx.x -pxxxxx"
我想通过创建一个快捷方式来让我的生活更轻松一点,例如"ssh some_user"......
我搜索了一下,找不到答案,可能没有使用正确的术语。
谢谢!
您可以使用 ssh 客户端配置文件 ( .ssh/config
)。如果必须键入 ssh -p 1234 mylogin@my.server.with.a.long.name.com
,则可以
host server
hostname my.server.with.a.long.name.com
user mylogin
port 1234
然后,您只需键入ssh server
,它就会产生相同的效果。您可以在.ssh/config
文件中拥有任意数量的条目,甚至可以使用通配符(*
)
如果您使用的是最新版本的 bash,则可以进一步使用 command_not_found_handle
函数:
command_not_found_handle () {
if grep "host $1" ~/.ssh/config &>/dev/null; then
ssh $@
else
printf "Sorry: Command not found: $1n"
return 127
fi
}
然后你可以简单地连接
server
我是否正确理解了您的问题,但是正确的ssh配置文件使生活更轻松。没有IP,没有域,没有密码,甚至没有用户名。
请参阅手册页:http://linux.die.net/man/5/ssh_config
我喜欢像ssh vm
这样的东西,或者scp vm:...
不再scp blablubb@192.168.226.xy:...
+密码。
另请参阅非对称密钥交换的ssh-keygen
和ssh-copy-id
。会让你摆脱输入密码。
通常我建议阅读ssh教程。