ssh免秘钥登陆实现

1.用处

  搭建集群或者工作中登陆跳板机经常需要做免秘钥互相登陆彼此服务器。

2. 准备工作
   假设A主机10.20.0.1想通过ssh登录到B主机10.20.0.2上。
   那么客户端(A主机)需要安装ssh客户端软件,服务器端(B主机开机sshd进程)需要安装ssh服务器软件。
   ssh客户端Linux发行版一般都自带的,对于ssh服务器端,Ubuntu用户可以sudo apt-get install openssh-server来安装,其他Linux用户也安装openssh-server即可。
   在各自的$HOME目录下都有一个.ssh隐藏目录。
3. 生成密钥
   在A主机,cd $HOME/.ssh
         运行命令ssh-keygen -t dsa 生成密钥。(dsa换成rsa,即是使用rsa加密算法生成密钥了)
         一路Enter键确认下来,当然遇到"yes/no?"一般选yes就好了。
4. 分发密钥(公钥)
   在A主机,scp ~/.ssh/id_dsa.pub  [email protected]:~/.ssh/id_dsa.pub
   此过程中需要输入B主机的userB的密码。
   然后,在B主机:cat ~/.ssh/id_dsa.pub  >> ~/.ssh/authorized_keys (将id_dsa.pub的内容追加到 authorized_keys中)
5. 享受免登陆
   在A主机:ssh [email protected]  不需输入密码即可登录B主机;
   当然 scp test [email protected] 远程拷贝也不需输入密码了(scp基于ssh协议嘛);
   还可以ssh远程执行B主机上的命令或执行脚本,比如:
   ssh test [email protected] ‘apache2 -k start‘ #启动B主机上的Apache服务;
   远程执行多条命令可用分号隔开,如:ssh test [email protected] ‘ls;pwd‘

时间: 2024-10-11 11:33:27

ssh免秘钥登陆实现的相关文章

linux普通用户免秘钥登陆操作

普通用户(xusj)进行免秘钥登陆步骤如下: 在主机A 192.168.1.1上操作 ssh-keygen -t rsa              //参数公钥和私钥对,输入后一路回车. Generating public/private rsa key pair. Enter file in which to save the key (/home/xusj/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same

ssh免秘钥登录

SSH免秘钥登录 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责 [[email protected] ~]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):    直接回车Enter passphrase (empty for no passphrase):  直接回车Enter

linux系统下ssh免秘钥登录

我有两台linux主机: 主机名分别是: lsx01.com lsx02.com 希望在lsx01.com这台主机上无秘钥登录lsx02.com. 一.修改hosts文件 在两台机器上都添加主机ip信息 例如在lsx01.com上: vi /etc/hosts 配置如下: 二.生成rsa秘钥文件,统一拷贝至一个authorized_keys中 1.在所有主机上,例如lsx01.com主机上生成rsa秘钥文件 cd /root/.ssh ssh-keygen -t rsa 三下回车 生成了两个文件

Linux中ssh免秘钥设置

A:传统方式设置ssh方法 B:hadoop文档中的ssh设置方式:

ssh、scp免秘钥远程执行命令:expect

首先安装expect # yum -y install expect 命令格式 # ./expect IP COMM    #expect是独立的工具,所以不能用sh来执行 #!/usr/bin/expect set timeout -1    #超时时间默认10秒,如果你要执行一条很漫长的命令,那么这个很有必要,这里将超时时间设置为永不超时 set COMMADN1 [lindex $argv 0]    #传参变量,这里引用脚本后面的第一个参数 set COMMADN2 [lindex $a

ssh使用秘钥免密码登录

使用ssh远程连接服务器,有两种身份校验方式:账号密码和秘钥.使用秘钥的方式理论上更加安全,而且免去了输入密码的步骤,使用起来更方便(尤其对于sftp,scp等). ssh秘钥的生成和使用,网上很多教程,感觉不太完整,这里自己总结一下. 秘钥由谁生成这是比较容易搞乱的一点.这里以A.B两台服务器为例,假设A需要ssh登录B,那么应该由那台服务器生成秘钥呢.可能有人以为像门锁一样,主人家负责装锁配钥匙,把钥匙交给要开门的人使用,所以由被访问的B服务器生成秘钥. 事实恰恰相反,秘钥由访问请求方A服务

Centos 6.5 x64 本地用户秘钥登陆

线上服务器统一使用秘钥登陆,密码登陆直接被禁止了. 默认都是root登陆,开发要求能登陆服务器,查看目录里面的文件.所以需要创建一个普通用户,以及普通用户的秘钥 创建用户 useradd lisi 设置密码 passwd lisi 使用xshell生成秘钥 方法参考 http://jingyan.baidu.com/article/e5c39bf5ba78e639d760330e.html 然后把生成的公钥写入/root/.ssh/authorized_keys 文件 测试登陆,发现死活验证失败

linux配置无秘钥登陆

linux配置无秘钥登陆 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近有点心烦,很少写博客了,后期的3个月里,估计更新的频率也不会太高,请见谅,今天给大家共享一下linux不用秘钥就可以访问服务器的一种方法,这样工作起来比较方便,如果感兴趣的小伙伴们可以看一下,具体配置内容如下: 首先,我要明确一下我的系统环境,都是2台centos6.6的操作系统,内核都是2.6的. 第一台机器: #1>.创建秘钥对 [[email protected] .ssh]# ifconfig

linux非root用户使用秘钥登陆实现方法

linux非root用户使用秘钥登陆实现方法: 1.拷贝/root/.ssh/公钥放到普通用户家目录下的 authorized_keys里     2.修改/etc/ssh/sshd_config的参数,禁止root账号远程登陆使用,只允许普通用户远程登陆, 使用 su sudo切换使用root账号的权限