ssh输入密码实在是太麻烦了,所以需要一键登录!
举个简单例子,我想要ssh root@192.168.1.2,如果你添加过SSH密钥的话,可以直接通过ssh-copy-id 192.168.1.2
实现免密登录,全文完!
但但是,如果没有SSH密钥的话,可以采用如下脚本~
ok 创建个脚本文件,叫add_ssh_id.sh
#!/bin/bash
# 设置SSH密钥文件路径
ssh_key_path="$HOME/.ssh/id_rsa"
# 生成RSA密钥
generate_ssh_key() {
if [ ! -f "$ssh_key_path" ]; then
ssh-keygen -t rsa -b 2048 -f "$ssh_key_path"
else
echo "SSH key already exists: $ssh_key_path"
fi
}
# 将公钥复制到目标主机
copy_ssh_key() {
local target_host="$1"
ssh-copy-id -i "$ssh_key_path" "$target_host"
}
# 主程序
main() {
generate_ssh_key
# 检查是否提供了目标主机参数
if [ "$#" -eq 0 ]; then
echo "Usage: $0 <target_host1> [<target_host2> ...]"
exit 1
fi
# 处理每个目标主机
for host in "$@"; do
echo "Copying SSH key to $host..."
copy_ssh_key "$host"
done
echo "SSH key copying completed."
}
# 执行主程序
main "$@"
然后bash add_ssh_id.sh 192.168.1.2
,等待一小会,输入密码,自此之后就不用输入密码了,ssh root@192.168.1.2直接登录,懒人狂喜>.<
温馨提示:支持批量添加,比如说:bash add_ssh_id.sh 192.168.1.2 192.168.1.3 192.168.1.4
如果你觉得输入ip太麻烦,你可以修改vim /etc/hosts,在最下面添加:
192.168.1.2 host2
然后就可以直接ssh root@host2登录了,懒人狂狂喜>>.<<