使用公钥/私钥免验证登录远程机器

1.在不支持TCL自动应答脚本的机器上实现远程的登录操作。

步骤如下:

        原理:使用ssh命令和一个指定的密钥文件来进行身份验证。

        1.生成密钥对,在本地执行:

        

ssh-keygen -t rsa

        这将在当前用户的主目录下生成一个名为id_rsa的私钥和一个名为id_rsa.pub的公钥文件。我们将公钥文件复制到远程机器的~/.ssh/authorized_keys文件中,这样就可以使用私钥文件进行身份验证。

        2.在远程执行:

        

mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys

        将本地的公钥复制到远程机器的~/.ssh/authorized_keys文件中。可以使用下面的命令:

        

cat /path/to/id_rsa.pub | ssh user@remote_machine "mkdir -p ~/.ssh && cat >>~/.ssh/authorized_keys"

说明:这里的 /path/to/   请替换成本地id_rsa.pub所在的目录。

编写登录用的脚本:

#!/bin/bash


remote_ip="192.168.1.10"       #远程IP地址
remote_user="root"             #远程用户名
key_file="/root/.ssh/id_rsa"   #这里请指定私钥所在的路径

ssh "$remote_user"@"$remote_ip"

你可能感兴趣的:(ssh,debian,自动化)