删除known_hosts中的主机条目
当远端机器重装、密钥变化或者 IP 被复用时,SSH 很容易报主机指纹冲突。
脚本
#!/bin/bash
if [ $# -eq 0 ]; then
echo "使用方法: $0 <主机名或IP>"
exit 1
fi
HOST=$1
KNOWN_HOSTS_FILE="$HOME/.ssh/known_hosts"
if [ ! -f "$KNOWN_HOSTS_FILE" ]; then
echo "错误: $KNOWN_HOSTS_FILE 文件不存在"
exit 1
fi
ssh-keygen -R "$HOST"
echo "已从 $KNOWN_HOSTS_FILE 中删除 $HOST 的条目"
echo "现在您可以重新连接到 $HOST 而不会收到警告"示例
./remove_known_host.sh 192.168.1.10
./remove_known_host.sh github.com