3

我的问题是,每次我必须登录到 Linux 服务器上的给定帐户(有很多)时,我都必须去拉一个文本文件,而不是查看用户名和 ip。

示例:“ssh some_user@xxx.xxx.xxx.x -pxxxxxx”

我想通过创建一个快捷方式让我的生活更轻松一些,例如“ssh some_user”...

我搜索并找不到答案,可能没有使用正确的术语。

谢谢!

4

2 回答 2

2

您可以使用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: $1\n"
       return 127
    fi
}

然后你可以简单地连接

server
于 2013-10-31T22:51:48.420 回答
0

我不知道我是否正确理解了您的问题,但是正确的 ssh 配置文件让生活更轻松。没有IP,没有域名,没有密码,甚至没有用户名。

请参阅手册页: http: //linux.die.net/man/5/ssh_config

我喜欢ssh vm, 或scp vm:...没有更多scp blablubb@192.168.226.xy:...+ 密码短语之类的东西。

另请参阅ssh-keygenssh-copy-id了解非对称密钥交换。将使您摆脱输入密码的麻烦。

一般来说,我建议阅读 ssh 教程。

于 2013-10-31T22:51:11.600 回答