我目前使用终端通过以下方式连接集群:
>ssh -p port user_name@address
>user_name@addresspassword's:
>password
我想创建一个用户定义的命令,就像connect
一个包含这些基本元素的配置文件
# These contents can be edited
port: xxxx
user_name: xxxx
address: xxxx
password: xxxx
在这些设置之后,我想通过在终端中输入“connect”来连接集群。
答案1
先安装sshpass
。
apt-get/yum install sshpass -y
将其添加到您的~/.bashrc
:
connect()
(
. ~/.ssh/variables_for_ssh.sh
SSHPASS=$password sshpass -e ssh -p "$port" "$username@$address"
)
创建一个名为variables_for_ssh.sh
in 的文件~/.ssh/
(或其他只有您可读的目录),其内容如下:
password='yourpassword'
port=portnumber
username='your username'
address='your address'
然后更改权限,这样只有你和root可以读写该文件。
chmod 600 ~/.ssh/variables_for_ssh.sh
当您更改 的内容时,只需在运行之前variables_for_ssh.sh
获取您的.~/.bashrc
connect
答案2
编辑~/.ssh/config:
Host Address
User user_name
Hostname address
Port xxx
现在您可以连接
$ ssh Address
如果你想进一步缩短它,添加一个别名
~/.bashrc:
alias connect="ssh Address"
您应该设置一个 ssh 公钥并将其放置在远程服务器中以允许无密码安全登录。
以明文形式存储密码或使用别名缩短像 sshpass 这样的命令(这又会以明文形式存储密码)并不是一个好主意,请参阅这个答案