如何将密码添加到 ~/.ssh/config 文件中以进行自定义 ssh 连接

如何将密码添加到 ~/.ssh/config 文件中以进行自定义 ssh 连接

我有多个 ssh 连接想要添加到.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

相关内容