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,如需转载请自行联系原作者




相关文章
|
2月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
305 146
|
6月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
372 14
|
5月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
1684 0
|
7月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
405 24
|
6月前
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
8月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
383 10
|
9月前
|
安全 网络安全 数据安全/隐私保护
Debian 12系统中允许Root远程SSH登录解决方法!
在 Debian 12 系统中开启 SSH 远程 Root 登录需修改 SSH 配置文件 (`sshd_config`),将 `PermitRootLogin` 设置为 `yes` 并确保密码认证启用。完成后重启 SSH 服务并验证连接。若防火墙启用,需放行端口 22。注意,直接开放 Root 登录可能带来安全风险,建议使用普通用户登录后切换至 Root。
1140 1
|
12月前
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
5246 5
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
1111 59
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。