Linux:SSH免密码登录


[toc]


我相信用过ssh连接linux服务器的人都知道,要连上Linux服务器,都要输入一大串的命令,先是ssh -p 端口号 用户名@IP地址 然后再输入密码才能进入远程linux服务器,是不是感觉特别烦躁,也特别繁琐,下面我来说一下怎么使用ssh免密码登录

假定A是本机(如果是windows,请安装git,配置git环境,以使用ssh),B是远程Linux服务器

先在本机上生成SSH密钥:

ssh-keygen -t rsa

然后在本机的根目录会生成.ssh隐藏文件夹(windows在/users/用户下),然后进入.ssh文件夹
会看到有两个文件id_rsaid_rsa.pub,它们分别是私钥和公钥文件,然后我们进入主题

在远程Linux服务器上操作

在根目录创建.ssh文件夹

mkdir .ssh

.ssh文件夹下创建authorized_keys文件

cd .ssh/

touch authorized_keys

拷贝本机生成的公钥到远程Linux服务器的.ssh/authorized_keys文件中

手动复制的方式

直接将本机的id_rsa.pub复制到服务器的authorized_keys文件中

远程拷贝命令(注:-P是大写)

scp -P 端口号 ~/.ssh/id_rsa.pub 用户名@服务器IP地址:/root/.ssh/authorized_keys

eg: scp -P 27257 ~/.ssh/id_rsa.pub root@192.168.1.143:/root/.ssh/authorized_keys

现在你就可以通过命令ssh -p 端口号 用户名@服务器IP地址进行免密码登录,当然如果你端口是22的话,直接使用ssh 用户名@服务器IP地址就可以了,ip地址如果也不想输入,可以直接去host(Mac路径:/etc/hosts, Windows路径:C:\Windows\System32\drivers\etc\hosts)文件中配置别名,直接使用别名登录

谢谢你请我吃糖,Mua
0%