我对这一切都很陌生。尝试通过网络进行战争游戏来学习,并认为登录每个级别有点乏味,并想创建一些快捷方式。我创建了一个别名,可以获取下一级别的密码并通过 sshpass 传递,这节省了相当多的输入时间。但我想知道我是否可以对连接地址做同样的事情。
到目前为止我已经将其变成了:
sshpass -p `sed -n "$p" banditpw` ssh <username>@bandit.labs.overthewire.org -p 2220
变成这样:
sshp <username>@bandit.labs.overthewire.org -p 2200
我想知道我是否可以对 bandit.labs.overthewire.org -0 2200 部分做同样的事情。我尝试这样做
alias otw="bandit.labs.overthewire.org -p 2220"
在我尝试执行此操作之前,终端无法识别:
<username>@otw
它无法识别我想调用别名“otw”,因为它与 @ 之间没有分隔。有没有办法让终端理解我想调用别名,而别名与前面的字符之间没有分隔?
另外,我只会在别名中包含用户名@,只是用户名会在每个级别上发生变化。
答案1
我认为你想用类似的东西登录
$ user1@otw
$ user2@otw
$ user3@otw
我的目的是使用function
类似这样的简单方法登录:
$ otw user1
$ otw user2
$ otw user3
- 为了实现此功能,您可以执行以下操作:
otw(){
user="$1"
sshpass -p `sed -n "$p" banditpw` ssh ${user}@bandit.labs.overthewire.org -p 2220
}