创建通过ssh登录的脚本/快捷方式

时间:2013-10-31 22:43:30

标签: ssh login-script

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

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

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

我搜索过但无法找到答案,可能没有使用正确的术语。

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用ssh client configuration file.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

答案 1 :(得分:0)

我不知道我是否理解你的问题是正确的,但是正确的ssh配置文件会让生活变得更加容易。没有IP,没有域名,没有密码,甚至没有用户名。

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

我喜欢ssh vmscp vm:...scp blablubb@192.168.226.xy:... +密码短语。

另请参阅ssh-keygenssh-copy-id以进行非对称密钥交换。可以让你摆脱输入密码。

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