linux 免登陆 Linux怎么学
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-->应该就能直接连接服务器咯。
【jenkins】linux服务器使用ssh实现免密登陆
在进行Jenkins部署时,一个常见的需求是能够从部署机通过SSH免密方式登录,以执行shell脚本。
首先,客户端(如开发者的电脑)需要生成一对SSH密钥:公钥(id_rsa.pub)和私钥(id_rsa)。生成后,将公钥内容复制到目标服务器(比如部署服务器B)的指定目录,通常是.ssh/authorized_keys。
以A服务器(代码仓库服务器)为例,开发者需要在A服务器上执行相应的命令生成密钥对,然后将公钥上传到B服务器,以便后续的SSH连接无需每次都输入密码。
在Jenkins中,为了实现这个功能,你需要安装一个插件,即"Publish over SSH",这个插件允许Jenkins在构建过程中通过SSH直接执行远程任务,无需在每次构建时手动输入密码进行登录。
登陆无密码Linux轻松登录linux无密码用户
随着互联网技术的日新月异,在安全性上也需要我们时刻保持警惕。传统的登录使用密码来保护系统,不过使用这种方式的安全性是有局限的。那么有没有更安全的方法来登录呢?我们对“登陆无密码”进行了分析,具体细节将会学习实现。
一般来说,使用登陆无密码方式可以分为硬件和软件两种。硬件登陆无密码方式通常使用一些支持数字证书或口令设备,如USB-key设备、指纹识别设备等,简单利用设备进行登陆即可。其实,今天实现“登陆无密码”只需要一台Linux操作系统和一把SSH密钥即可。
首先,我们可以使用一台Linux操作系统搭建一个SSH服务,让客户端可以连接。在Linux上,使用ssh-keygen命令就可以快速生成公钥和私钥文件,使用ssh-copy-id将公钥复制到远程主机的~/.ssh/authorized_keys文件中,即可实现密钥认证,从而达到登陆无密码的效果。
当客户端使用ssh命令连接服务器时,SSH将使用私钥进行认证,如果认证成功,用户即可登陆,真正实现了登陆无密码,可满足当下追求安全性的要求。
总结:
普通的登录使用密码的方式的安全性存在局限,所以我们提出了一种使用“登陆无密码”的新方式,只需要一台Linux操作系统和一把SSH密钥,使用ssh-keygen命令生成公钥和私钥,利用ssh-copy-id将公钥复制到远程服务器的~/.ssh/authorized_keys,即可实现登陆无密码的效果,从而满足当下追求安全性的系统要求。