使用ssh-keygen设置ssh无密码登录

使用ssh-keygen设置ssh无密码登录

 

-bash-3.2$ ssh-keygen -t rsa 

Generating public/private rsa key pair.

Enter file in which to save the key (/home/haifeng/.ssh/id_rsa): 

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /home/haifeng/.ssh/id_rsa.

Your public key has been saved in /home/haifeng/.ssh/id_rsa.pub.

 

过程中会要求输入密码,为了ssh访问过程无须密码,可以直接回车 。

 

-bash-3.2$ ls /app/.ssh/  #本机当前用户登录后会进入/app目录,.ssh/下有三个文件

id_rsa  id_rsa.pub  known_hosts

           

将公钥拷贝至远程机器上,找到对应的.ssh目录

scp id_rsa.pub 用户名@远程机器的IP:/app//.ssh/authorized_keys

 

若没有authorized_keys,自己创建touch一个

 

注意:对于要对多个机器进行无密码访问时,需要重复以上步骤,将新机器中生成的 id_rsa.pub 拷贝到远程的服务器上,然后在远程服务器上,进入当前目录下的.ssh目录

 

cat authorized_keys_新生成的文件 >> authorized_keys

 

也就是说将新生成的id_rsa.pub文件内容添加到远程服务器的authorized_keys文件中,这样authorized_keys中就存放了多个机器的密钥

 

在本机上编写操作远程机器的脚本:

ssh -tt 远程机器的IP << EOF

 

cd 指定目录 

 

./myShell.sh

 sleep 5s #可休眠几秒再执行

exit #自动退出

 

EOF#这个要单独成一行,成对出现,结束

 

sleep 5s #可休眠几秒再执行

还可以写一些本机上的脚本进行执行

 

本机脚本编写结束

你可能感兴趣的:(使用ssh-keygen设置ssh无密码登录)