如何做到两台Linux机器之间不使用密码即可通过SSH远程登录。
有两台linux机器A(192.168.0.195),B(192.168.1.210),想通过A机器ssh的方式登录到B机器,且不必输入密码。
原理很简单,rsa公私钥机制,创建一对密钥(包含公钥和私钥),将公钥放入远程需要登录到的那个机器B上,自己保留私钥。通过A登录远程机器B时,对方验证方法为:使用公钥加密数据,谁能够解密这段数据则证明谁手里有私钥,即谁有权限登录。
下面的例子假设:A和B都是通过root用户进行登录,其实通过其他用户登录方法相同。
方法如下:
1. 在A机器上的/root/.ssh下执行 :ssh-keygen -t
rsa
命令提示输入内容时,都不输入,直接回车。这个命令会产生一对公钥和私钥,名字为id_rsa(访问权限为600)(私钥) 和
id_rsa.pub(公钥)
注意:在产生密钥时,本例子没有设置密码,提示输入passpphrase时,直接回车,没有设置密码。如果设置了密码,可以使用ssh-agent代理,帮实现自动输入passpphrase,这种方式我没有进行实际试验。
2.
将公钥也就是id_rsa.pub发送到远程机器上,并修改名称为authorized_keys:
scp
/root/.ssh/id_rsa.pub
root@192.168.1.210:/root/.ssh/
mv /root/.ssh/id_rsa.pub
/root/.ssh/authorized_keys
当然也可以直接采用scp
/root/.ssh/id_rsa.pub 192.168.1.210:/root/.ssh/authorized_keys
在将公钥拷贝到B机器时,可能会显示如下的提示信息,这些信息可以不用考虑,直接Yes就行了:
The authenticity of host '192.168.0.195
(192.168.0.195)' can't be established.
RSA key fingerprint is
5a:6f:67:d8:4e:0c:3c:20:1a:7f:3e:5b:d0:6e:5d:34.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.195' (RSA) to the list of
known hosts.
Address 192.168.0.195 maps to localhost, but this does not map back
to the address - POSSIBLE BREAK-IN ATTEMPT!
只需要在A机器的/etc/hosts中,增加B机器的IP和机器名:192.168.1.210
B 即可消除上述的信息。
B机器上,/root/.ssh/authorized_key的访问权限为644(缺省应该就是这个权限)。
修改B机器的/etc/ssh/ssh_config,将PermitRootLogin
设置为yes,不需要重新启动sshd。(因为此例子是采用root进行登录的)
成功了,在A机器上,用root用户远程登录B机器:ssh
192.168.1.210
如果不是用root用户远程登录B机器:ssh
–l
user1
192.168.1.210。这种情况下,公钥就应该是放在user1这个用户的.ssh/下了。
分享到:
相关推荐
Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的 telnet类工具。用它来远程管理Linux十分好用,其主要优点如下: ◆ 完全免费; ◆ 在Windows 9x/NT/2000下...
Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的 telnet类工具。用它来远程管理Linux十分好用,其主要优点如下: ◆ 完全免费; ◆ 在Windows 9x/NT/2000下...
使用Outrun,您可以使用另一台Linux机器的处理能力执行本地命令。 无需先在另一台计算机上安装命令。 像平常一样引用本地文件和路径。 可在极其不同Linux发行版中工作,例如Ubuntu和Alpine。 内容 安装 Outrun...
X-Windows(Linux) 支持图形应用协议 允许应用软件程序员产生与终端无关的图形用户界面GUI 有限制性的主机验证的明文协议 远程网络访问安全技术全文共27页,当前为第5页。 基于头部的攻击 Telnet与rlogin无头部 X-...
Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的 telnet类工具。用它来远程管理Linux十分好用,其主要优点如下: ◆ 完全免费; ◆ 在Windows 9x/NT/2000下...
通过SSH可以访问功能强大的机器,该机器未专门配置为MATLAB服务器或集群,但是仍然提供了许可版本的MATLAB(在共享的学术环境中通常如此),SENDTOREMOTE提供了一个简单的框架,可在其中执行代码共享资源,而无需...
只需要在客户端机器上安装ansible命令,无需每台服务器都安装。 安装命令:yum install -y ansible 3.使用 编写一个inventory文件,文件名字可以随便定义,这里我们命名为hosts,文件内容格式如下: [all:vars] ...
gentoo-pxe-builder目的此PXE构建器的目的是让您从PXE引导计算机,然后自动对其进行设置,以便可以使用SSH远程访问它。 引导此PXE initramfs将显示有关PXE主机上可用网络接口的信息,因此您无需键入任何命令即可连接...
快速扫描模式扫描无需 root 权限,无需互联网访问,扫描目标服务器上几乎没有负载。 深度扫描模式扫描更详细。 可以获取执行某些命令的服务器的状态。 Vuls v0.5.0 警告未重新启动之前更新但尚未重新启动的进程。 ...
OpenIoTHUb | 腾讯QQ群:251227638什么是...支持可直接访问Intranet的SSH终端 6.支持通过Intranet SSH访问文件(上传和下载) 7.支持直接打开Intranet机器的VNC桌面 8.支持呼叫手机Rd客户端打开内网窗口桌面 9.
如何为数据科学设置云服务器作者: 最近更新:... 任何VPS都可以通过典型的用户/密码交换来访问,但是也可以设置SSH密钥来识别受信任的计算机,而无需输入密码。 为了提高安全性,还可以在密钥对中添加密码短语,该密