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" ]; thenssh-keygen -t rsa -b 2048 -f "$ssh_key_path"elseecho "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 ]; thenecho "Usage: $0 <target_host1> [<target_host2> ...]"exit 1fi# 处理每个目标主机for host in "$@"; doecho "Copying SSH key to $host..."copy_ssh_key "$host"doneecho "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登录了,懒人狂狂喜>>.<<