ssh设置密钥认证登录

1.生成私钥公私
在Linux命令行输入ssh-keygen (Windows电脑可以安装cmder, cmder可以在Windows电脑上运行Linux命令):

 

如果不修改路径和文件名一直回车就行(不建议修改路径):

 

 

 

然后进入C:/Users/Administrator/.ssh/目录下发现多个两个文件:

(如果你修改了路径就去你修改后的路径下找)

 

 

 


2.把公私上传到服务器上的~/.ssh目录下(id_rsa.pub文件)

Windows可以安装WinSCP工具上传, 或者在cmder下使用scp命令上传, 格式为: scp [参数] 本地文件 远程帐户@远程 IP 地址:远程目录.

 

scp C:/Users/Administrator/.ssh/id_rsa.pub root@47.97.112.123:~/.ssh

远程IP地址改成自己的远程IP地址, 然后按回车键再输入密码, 上传成功后可以删除客户端下的id_rsa.pub文件了.

 

 

如果要下载文件也可以使用scp命令:

scp [参数] 远程用户@远程 IP 地址:远程文件 本地目录

例如下载服务器的/etc/redhat-release文件到桌面:

scp root@47.97.112.123:/etc/redhat-release C:\Users\Administrator\Desktop

 

如果要下载或上传文件夹可以加-r参数, 例如下载/home目录到桌面:

scp -r root@47.97.112.123:/home C:\Users\Administrator\Desktop

 

 

3.把服务器上公私的内容添加到authorized_keys文件里(只要将每一台客户端的公钥都添加到服务器端authorized_keys文件中,就可以实现多台客户端同时免密登录服务器了):

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

 


3.服务器重启sshd:

systemctl restart sshd

 


4.在客户端的.ssh目录下(我的是在C:\Users\Administrator\.ssh目录)创建或编辑config文件, 文件内容:
Host zp
HostName 47.97.112.123
User root
port 22
IdentityFile ~/.ssh/id_rsa

 

(把上面的信息改成自己的信息)

 

 

 

 

5.在客户端的命令行输入ssh zp(第四步的Host对应的内容), 就可以登录了.

 

posted @ 2020-05-13 17:48  X虚拟的现实  阅读(913)  评论(0编辑  收藏  举报