ssh免密码登录

翎野 翎野     2022-09-15     670

关键词:

1.ssh的登录方式

1.1 密码口令

  • 客户端连接上服务器之后,服务器把自己的公钥传给客户端
  • 客户端输入服务器密码通过公钥加密之后传给服务器
  • 服务器根据自己的私钥解密登录密码,如果正确那么就让客户端登录

1.2 公钥认证

这个其实比上面的要简单,之前上大学时老师也讲过。一定要明白客户端和服务端时通过公钥和私钥实现认证登录的。一定要牢牢记住就是只靠这两个东西,没有其他的了。

拿自动化部署举例,Rundeck部署在一台服务器上现在要对其他的一台或者多台部署服务器进行项目部署,在这个场景下Rundeck对应的服务器要想去访问其他的部署服务器就要通过公私钥的这种方式。

Rundeck服务器相当于A端,而部署服务器相当于B端。A、B两端要实现交互认证就要通过一组公私钥。

1、客户端即A端生成RSA公钥和私钥:

一般在用户的根目录新建一个.ssh/.文件夹,在文件夹中通过ssh-keygen -t rsa命令来产生一组公私钥。

如下图所示id_rsa为私钥,id_rsa.pub为公钥。

2、客户端将自己的公钥存放到服务器:在生成了公私钥之后要实现AB两端的交互认证,这两个文件肯定不能只放到A端,当然也需要在B端(服务器端)做一下登记,我们自己(A端)保留自己的私钥,然后把公钥id_rsa.pub存放到B端(一般是在用户根目录下的.ssh/目录下)

在服务器端(B端)的.ssh/目录下还会有authorized_keys+know_hosts,这两个文件。

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥,上面提到的A端在生成自己的公私钥之后,将公钥追加到authorized_keys文件后面。

红色框起来的为新追加的A端的公钥。

know_hosts : 已知的主机公钥清单,这个作为A端和B端都会自动生成这个文件,每次和远端的服务器进行一次免密码ssh连接之后就会在这个文件的最后追加对方主机的信息(不重复)

每进行一次就会在这个文件中自动的追加新的主机信息

通过scp将内容写到对方的文件中

命令:scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys

也可以分解为一下两步来进行:

$ scp ~/.ssh/id_rsa.pub root@<remote_ip>:pub_key //将文件拷贝至远程服务器
$ cat ~/pub_key >>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令

网上很多都是用scp >>去追加,如果你可以登录到B端的话其实直接复制过去就可以了。

 需要注意的几点:

设置文件和目录权限(服务器端即B端的权限):

设置authorized_keys权限
$ chmod 600 authorized_keys 

设置.ssh目录权限
$ chmod 700 -R .ssh

到这里我们的配置工作就结束了!!!

进行连接认证:

ssh root@222.73.156.133 -p1019

 

如果嫌每次连接的时候很麻烦

我们可以利用 ssh 的用户配置文件 config 管理 多个免密码ssh 会话。ssh 的用户配置文件是放在当前用户根目录下的 .ssh 文件夹里(~/.ssh/config,不存在则新创建一个),其配置写法如下:

Host    别名

    HostName        主机名

    Port            端口

    User            用户名

    IdentityFile    密钥文件的路径

如下图实例:

 

配置完后我们就可以通过这种方式登录了:

 

---------------------------------------------------------

两台服务器交互验证的细节如下:

3、客户端请求连接服务器,服务器将一个随机字符串发送给客户端

4、客户端根据自己的私钥加密这个随机字符串之后再发送给服务器

5、服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

 

2. 在查看进程的时候不要只看有没有,还要留意进程启动时间和启动的位置

 3.在进行Rundeck配置的时候要小心,不要复制粘贴的时候多了一个空格,不然会花费你好久去找问题!!!

 4.Jenkins读取不到环境变量可以用-ilex解决同样也可以,在脚本中给变量赋值。

 

 

ssh免密码登录

...性不容烂笔头啊,总是忘,记录一下备查~ 设置ssh免密码登录,首先需要生产公钥,命令:$ssh-keygen-trsa 一路回车即可然后把生成的公钥拷贝到机器需要登录的机器上的~/.ssh/authorized_keys中,使用如下命令:$ssh-copy-id-i~/.ssh/... 查看详情

ssh免密码登录

ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 1.在A机下生成公钥/私钥对。[[email protected] ~]$ ssh-key... 查看详情

ssh配置免密码登录

...登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录。首先服务器两台:A:43.224.34.*B:104.238.161.*配置的结果是B机器可以免密码登录到A服务器。首先在B服务器上生成本机的公私密钥:s... 查看详情

ssh免密码登录配置

部署hadoop集群,都需要配置SSH免密码登陆,为什么要设置SSH免密码登录,其原因是我们在开启hadoop的时候需要多次输入yes和root密码,这是我们所不能忍受的,我们迫切需要实现免登录的功能。这里以三个节点node0,node1,node2为例配... 查看详情

ssh免密码登录教程

在一些受信任的环境中配置免密码登录,是比较方便的;而对于ansible等自动化工具配置免密码登录更是必要的。免密码登录的要点就是,把想让服务器信任的客户机的公钥发送到服务器。当客户机连接服务器时直接发送公钥过... 查看详情

配置ssh免密码登录

1.判断是否已经设置SSH免密码登录,下面的情况就表示没有设置SSH免密码登录650)this.width=650;"src="https://s2.51cto.com/wyfs02/M01/9B/E5/wKioL1locDOyuOZNAACB_wmCmW0344.png-wh_500x0-wm_3-wmp_4-s_169150567.png"title="QQ截图20170714151607.p 查看详情

ssh免密码登录

本地测试ssh-keygen        #一直回车cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keyschmod600~/.ssh/authorized_keysvim/etc/ssh/sshd_config  #去掉RSAAuthenticationyes PubkeyAuthenticationyes  查看详情

ssh免密码登录

ubuntu系统使用SSH免密码登陆我们通常使用Ubuntu系统远程登陆时,一般使用PASSWORD【用户名+密码】的方式进行验证登陆,但是这种方式在使用的过程中需要频繁的输入用户名和密码,显得很繁琐,我们可以更具安全性的RSA密钥认证... 查看详情

免密码远程登录

A想免密码登录BA机#ssh-keygen-trsa-P‘‘scp/root/.ssh/id_rsa.pub[email protected]:/root/.ssh/id_rsa.pubB机cat /root/.ssh/id_rsa.pub >>/root/.ssh//authorized_keyschmod600/etc/ssh/authorized_k 查看详情

ssh使用密钥免密码登录

使用ssh远程连接服务器,有两种身份校验方式:账号密码和秘钥。使用秘钥的方式理论上更加安全,而且免去了输入密码的步骤,使用起来更方便(尤其对于sftp,scp等)。设置SSH,打开密钥登录功能编辑/etc/ssh/sshd_config文件,进... 查看详情

ssh免密码登录

本机免密登录远程主机P.S.-----CentOS-6免密登录CentOS-7(全程在CentOS-6执行)1.在CentOS-6生成密钥对ssh-keygen-trsa(连续按3次回车)2.将CentOS-6生成的公钥传输给信任的CentOS-7远程主机ssh-copy-idCentOS-7远程主机IP地址3.测试(在CentOS-6主机上)s... 查看详情

ssh免密码登录配置

...生成pub.key:在.ssh目录下运行命令ssh-keygen-trsa按三个回车,密码为空2.如果希望ssh公钥生效需满足至少下面两个条件: 可手动创建authorized_keys文件,然后把需要登录的pub.key加入其中1).ssh目录的权限必须是700 2).ssh/authorized_key... 查看详情

ssh公钥免密码登录

1、在本地生成秘钥对:ssh-keygen-trsascp/opt/id_rsa.pub[email protected]:/root/.ssh/authorized_keyscat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys#多个的话  查看详情

ssh免密码登录

一:A电脑使用ssh生成非对称密钥,目录为当前系统的默认目录下.ssh   密钥分为三种,最常用的使用rsa 二:将公钥上传至需要登录的电脑,同理在登录用户默认目录下创建.ssh/authorized_keys文件,将密钥内容复制进... 查看详情

远程登录ssh免密码

...在有两台机器:ServerA和ServerB,现在想要让ServerA不用输入密码就能够进行访问。方法和原理:我们使用ssh-keygen在ServerA上生成private和public密钥,将生成的public密钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外... 查看详情

ssh免密码登录

...88.88.88,用户名是root,在第一次登录的时候,会要求输入密码,登录成功后会在本地~/.ssh/id_rsa.pub生成秘钥,但是第二次登录时候,还是需要输入密码,这时候可以将id_rsa.pub拷贝到服务器上,这样以后登录就不需要输入密码了。... 查看详情

利用ssh-keygen免密码登录

...当需要管理多台服务器的时候,来回切换主机的时候输入密码是件很麻烦的事,这时候便可以利用ssh-keygen免密码登录。简单原理机过程:若A需要免密码登录B,则使用ssh-keygen在A上生成相应密钥对,再使用ssh-copy-id将生成的公钥... 查看详情

ssh免密码登录(代码片段)

一、客户端:创建密钥:ssh-keygen-trsa一路回车拷贝公钥到服务端:scp/Users/lee/.ssh/id_rsa.pub[email protected]:~/.ssh/二、服务端:登录:ssh[email protected]将客户端的公钥添加到授权key中:cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys三 查看详情