利用脚本实现ssh远程免密连接

it2024-07-04  48

当我们进行ssh远程连接服务器的时候,需要记住服务器用户名、ip地址以及密码,比较麻烦。本文介绍了一种使用脚本来进行ssh远程连接到服务器的方法。

1 写一个ssh脚本

首先输入以下指令,创建一个脚本文件,将其命名为ssh_example.sh(你可以自定义名字),并用vim打开。

vim ssh_example.sh

然后在文件中添加以下内容:

ssh user@192.164.112.64 #注意:user为你所要登陆服务器的用户名,@后面为服务器的ip地址

按 Esc ,回到正常模式,并输入 :wq 保存并退出。

2 为脚本添加可执行权限

输入以下指令,为脚本文件添加用户可执行权限:

chmod u+x ssh_example.sh

然后我们就可以通过 ./ssh_example.sh 来对服务器进行远程连接了,不过此时我们还需要输入服务器的密码。

3 配置公钥和密钥

3.1 在主机生成秘钥对

ssh-keygen -t rsa

默认回车,如果有问yes/no的地方输入yes,直到出现以下信息,则表示成功:

The key's randomart image is: +---[RSA 3072]----+ | . B+ | | .. B +o | | .o. =.. | | oo.+ oo . | | ++S+ +. . | | .+ o+ .. . | | o*o. . o | | .. B+.o o | | ..o*BX+ E | +----[SHA256]-----+

3.2 将公钥复制到服务器

ssh-copy-id -p 22 -i ~/.ssh/id_rsa.pub user@192.164.112.64 # 注意:这里的服务器用户名和ip地址填你自己的 # 然后会让输入密码

这时候登录服务器,会发现在/home/user/.ssh/目录下多了个文件authorized_keys。

现在你只需要输入 ssh_example.sh 就可以直接连接到服务器了,不再需要输入密码了。

最新回复(0)