我有多个 ssh 连接想要添加到.ssh
目录中的配置文件中,但似乎密码字段不适用。以下是我收到的错误:
有没有什么办法可以解决这个问题?
答案1
无法在 ssh 配置中提供密码。
你应该使用ssh 密钥反而。
但是,如果您想解决这个问题,请记住以纯文本形式保存密码是不安全的。
简单的解决方法是创建一个带有 sshpass 的 ssh 包装器。
首先安装 sshpass:
sudo apt 安装 sshpass
为包装器准备一个 bash 脚本:
触摸$HOME/.ssh/sshp.sh chmod 700 $HOME/.ssh/sshp.sh
将此代码粘贴到$HOME/.ssh/sshp.sh
/bin/bash #!/bin/bash SSH_HOST=$1 如果 [[ !"$SSH_HOST" ]]; 然后 echo "提供 ssh_host 作为第一个参数" ;出口 1;菲 sshpass -p "$(cat $HOME/.ssh/passwords/$SSH_HOST)" ssh $SSH_HOST
编辑 ~/.bashrc 并添加:
别名 sshp='$HOME/.ssh/sshp.sh'
然后输入:
源 ~/.bashrc
接下来,像这样保存主机的密码:
mkdir $HOME/.ssh/passwords
chmod 700 $HOME/.ssh/passwords
echo -n "password" > $HOME/.ssh/passwords/EXAMPLEHOST1
echo -n "password" > $HOME/.ssh/passwords/EXAMPLEHOST2
echo -n "password" > $HOME/.ssh/passwords/EXAMPLEHOST3
保存密码后,清除当前 bash 历史记录。
历史-c
并使用 sshp 别名而不是 ssh 连接到您的服务器:
sshp EXAMPLEHOST1