linux远程登录ssh免密码

简介:

一、问题:

假如我们现在有两台机器:PCA和PCB,现在想要让PCA不用输入密码就能够进行访问PCB

方法和原理:

可以使用ssh-keygen -t rsa (注意:一路回车即可)在PCA上生成privatepublic密钥,将生成的public密钥拷贝到远程机器PCB上后,

就可以使用ssh命令无需密码登录到另外一台机器PCB上。

在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法【默认是DSR算法】,

该工具作为linux系统的远程管理是非常安全的。

实验步骤:

1登录PCA

2ssh-keygen -t  rsa,将会生成公钥和私钥文件id_rsa.pub和id_rsa

【一直回车下去,这两个文件应该在/home/$USER/.ssh下面】

3id_rsa.pub 文件复制到PCB机器的 .ssh 目录下,并保存为authorized_keys

可以使用:ssh-cop-id命令会将指定的公钥文件复制到远程计算机。

ssh-copy-id -i  id_rsa.pub test@192.168.127.151

4.大功告成,从PCA机器登录PCB机器的目标账户,不再需要密码了。

5设置文件和目录权限【这一步可以省略,但是为了安全起见,加上也是有必要的~】

设置authorized_keys权限

chmod 644 authorized_keys 

设置.ssh目录权限

chmod 700 -R .ssh

6要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。

(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。

报错:

The authenticity of host '192.168.127.150 (192.168.20.150)' can't be established.  
RSA key fingerprint is 6a:37:c0:e1:09:a4:21:8d:68:d0:ca:21:20:94:be:11  
Are you sure you want to continue connecting (yes/no)? yes  
Warning: Permanently added '192.168.127.150' (RSA) to the list of known hosts.  
root@192.168.127.150's password:   
Permission denied, please try again.  
root@192.168.127.150's password:   
Permission denied, please try again.  
root@192.168.127.150's password:   
Permission denied (publickey,gssapi-with-mic,password).  

7、如果ssh想免密码登录自己,只需将在.ssh文件下执行 copy  id_rsa.pub  authorized_keys即可。

备注:

1、如果添加公钥后,还是无法访问,可能是PCA主机上面的一个文件known_hosts中已经存在PCB的ip信息,删除重新访问即可。

2、如果以上方法尝试过后还是不行,可能是因为登录失败次数过多被锁定,这个时候就需要去看看系统日志了/var/log/messages,将之前的锁定信息日志删除就可以了。

祝大家好运!!!



四、快捷方式:

假如A登录B,那么需在A上操作:

1、生成密钥对,命令如下:

ssh-keygen 一路回车即可。

2、将A的密钥对添加到B的authorized_keys中,命令如下:

ssh-copy-id B












本文转自lzf0530377451CTO博客,原文链接: http://blog.51cto.com/8757576/1792238,如需转载请自行联系原作者




相关文章
|
1月前
|
安全 Shell Linux
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
36 0
|
15天前
|
Linux 网络安全
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
24 1
|
5天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
1月前
|
安全 网络协议 Shell
【Shell 命令集合 系统管理 】Linux 远程登录 rlogin命令 使用指南
【Shell 命令集合 系统管理 】Linux 远程登录 rlogin命令 使用指南
31 0
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐Linux 远程登录工具 telnet 命令 使用指南
【Shell 命令集合 网络通讯 】⭐Linux 远程登录工具 telnet 命令 使用指南
30 0
|
1月前
|
Linux Shell 网络安全
Linux远程登录及相关工具介绍
Linux远程登录及相关工具介绍。
16 2
|
1月前
|
网络协议 Ubuntu Linux
「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接
「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接
127 0
|
1月前
|
安全 Linux Shell
|
2月前
|
安全 网络协议 Linux