[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_rsa
和id_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
)文件中配置别名,直接使用别名登录