linux 免密登陆,linux公钥免密登录

大家好,今天给各位分享linux 免密登陆的一些知识,其中也会对linux公钥免密登录进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

如何通过linux ssh远程linux不用输入密码登入

Linux ssh密钥自动登录

在开发中,经常需要从一台主机ssh登陆到另一台主机去,每次都需要输一次login/Password,很繁琐。

实现从主机A免密码登陆到主机B,需要以下几个步骤:

1.在主机A“~/.ssh/”目录下执行命令“ssh-keygen-t rsa”(生成过程中,一路回车),生成两个文件id_rsa和id_rsa_pub,这两个文件实际上是一个密钥对,id_rsa是私钥,id_rsa_pub是公钥;

2.将文件id_rsa_pub从主机A拷贝(可以使用scp命令)到主机B“~/.ssh/”目录下;

3.登陆到主机B上,进入“~/.ssh/”目录,将从主机拷贝来的id_rsa_pub文件添加到文件“authorized_keys”尾部(cat id_rsa_pub>>authorized_keys),若文件“authorized_keys”不存在,则创建;确保“~/.ssh/authorized_keys”的权限至少为600;

4.从主机A登陆主机B,第一次登陆时主机B要自动设置known_hosts文件,所以需要输入yes,以后就不需要了;

P.S.当然你登陆主机A和主机B用的是同一个用户名

锦上添花:

假设你的用户名为user,已经设置好了密钥登陆主机B。那么你可以在shell的配置文件(比如.bashrc)里定义一个alias

alias b='ssh user@B'

以后每次你启动shell终端后,输入b,回车,直接就ssh登陆到主机B上。

Linux系统SSH免密码登陆远程服务器的技巧

搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录。在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的。telnet,因为其不安全性,在linux系统中被搁置使用了。

"公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。

1、确认系统已经安装了SSH。

rpm–qa| grep openssh

rpm–qa| grep rsync

-->出现如下图的信息表示已安装

假设没有安装ssh和rsync,可以通过下面命令进行安装。

yum install ssh-->安装SSH协议

yum install rsync-->rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件

service sshd restart-->启动服务

2、生成秘钥对

ssh-keygen–t rsa–P''-->直接回车生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下。

3、把id_rsa.pub追加到授权的key里面去。

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

4、修改授权key的权限

chmod 600~/.ssh/authorized_keys

5、修改SSH配置文件

su--->登陆root用户修改配置文件

vim/etc/ssh/sshd_config-->去掉下图中三行的注释

6、测试连接

service sshd restart-->重启ssh服务,

exit-->退出root用户,回到普通用户

ssh localhost-->连接普通用户测试

这只是配置好了单机环境上的SSH服务,要远程连接其它的服务器,接着看下面。

7、现在秘钥对已经生成好了,客户端SSH服务也已经配置好了,现在就把我们的钥匙(公钥)送给服务器。

scp~/.ssh/id_rsa.pub远程用户名@远程服务器IP:~/-->将公钥复制到远程服务器的~/目录下

如: scp~/.ssh/id_rsa.pub hadoop@192.168.1.134:~/

可以看到我们复制的时候需要我们输入服务器的密码,等我们把SSH配置好之后这些步骤就可以不用输入密码了。

8、

上一步把公钥发送到192.168.1.134服务器上去了,我们去134机器上把公钥追加到授权key中去。

注意:如果是第一次运行SSH,那么.ssh目录需要手动创建,或者使用命令ssh-keygen-t rsa生成秘钥,它会自动在用户目录下生成.ssh目录。特别注意的是.ssh目录的权限问题,记得运行下chmod 700.ssh命令

在134机器上使用命令:cat~/id_rsa.pub>>~/.ssh/authorized_keys-->追加公钥到授权key中rm~/id_rsa.pub-->保险起见,删除公钥同样在134机器上重复第四步和第五步,service sshd restart--

上一步把公钥发送到192.168.1.134服务器上去了,我们去134机器上把公钥追加到授权key中去。

注意:如果是第一次运行SSH,那么.ssh目录需要手动创建,或者使用命令ssh-keygen-t rsa生成秘钥,它会自动在用户目录下生成.ssh目录。特别注意的是.ssh目录的权限问题,记得运行下chmod 700.ssh命令

在134机器上使用命令:cat~/id_rsa.pub>>~/.ssh/authorized_keys-->追加公钥到授权key中rm~/id_rsa.pub-->保险起见,删除公钥同样在134机器上重复第四步和第五步,service sshd restart-->重启ssh服务

>重启ssh服务

9、

回到客户机来,输入:ssh 192.168.1.134-->应该就能直接连接服务器咯。回到客户机来,输入:ssh 192.168.1.134-->应该就能直接连接服务器咯。

使用私钥方式SSH登录Linux服务器,免输入密码,免密码登录

配置私钥方式SSH登录Linux服务器,实现免输入密码,免密码登录,有效抵御暴力破解攻击,提高安全性。

生成4096位密钥对,包括私钥id_rsa和公钥id_rsa.pub。确保私钥id_rsa安全保存,公钥id_rsa.pub存入服务器VPS的~/.ssh目录。

将公钥id_rsa.pub内容复制至服务器~/.ssh/目录下的authorized_keys文件中,进行证书登陆。

将id_rsa私钥下载到本地电脑,准备进行证书登陆。

在SSH服务器的配置文件/etc/ssh/sshd_config中,根据需要增加或修改以下参数配置值:修改允许使用公钥认证的设置,确保仅允许使用公钥进行身份验证。

完成参数配置后,重启SSHD服务,生效新的SSH认证方式。

阅读剩余
THE END