Linux系统下通过ssh无密码互相链接

题记:

前几周受到老师去一个企业指导的反馈建议,作为同一个区域网内部进行数据传输的时候竟然还用着u盘链接或者云盘的方式,确实有点太low了,呵呵~,开个玩笑。其实也确实,同样的传输情况下,用ssh来传输,会比用之前的方式节省不少时间,提升不少工作效率。

为了更加直观:



现在假设以master主机的用户Tom登陆slave主机的Noven用户,以下为配置步骤:

一:如果只是单纯地链接一次可以用以下方式:

1.以Tom身份登陆master主机,执行如下命令(如果/home/tom/.ssh目录已经存在则跳过此步骤):

$ sudo apt-get install openssh-server #如果之前安装过可以跳过
$ ssh-keygen
# 一路回车即可

2.在以Noven身份登陆slave主机,其余的同上。

3.如果向从master主机以Tom身份登陆slave主机的Noven用户,可以进行如下操作:
$ssh Noven@192.168.1.X #这里以区域网为例,实际和远程的ssh链接相同
#然后输入slave主机上Noven用户的登陆密码即可。

4.如果想单纯的从slave主机上下载/上传文件,可以进行如下操作:

$scp Noven@192.168.1.X /home/Noven/devel /home/Tom/devel #区别于centOs,可以用sz,rz来传输文件
$scp /home/Tome/devel Noven@192.168.1.X /home/Noven/devel #将本地文件传输到对应的主机
#如果想要传输对应的文件目录,可以在scp后面跟上对应的-r参数

二:若果要频繁进行链接操作的,可参照如下:

1、2同上

3.在master主机上执行如下

$ cd /home/tom/.ssh
$ scp id_rsa.pub cat@slave:/home/cat/.ssh/id_rsa.pub.tom
# 输入cat在slave的密码即可将id_rsa.pub文件复制到slave主机。
4.在salve主机以Noven运行
$ cd ~/.ssh
$ cat id_rsa.pub.tom >> authorized_keys
$ chmod 400 authorized_keyscd cd 

这样就完成了从master主机无密码登陆salve主机的所有步骤,可以在master主机以Tom身份测试一下:ssh slave -lNoven,
应该就不需要输入密码就能登陆slave主机了。如果想要实现从slave住家到master主机的无密码登陆,吧上面的过程逆向执行一遍就OK了。

  如果需要在创建ssh key的时候无需人工干预(适合写到脚本终执行,)可以用到以下的命令:
$ ssh-keygen -q -N “” -f ~/.ssh/id_rsa -y

  • -q:静默方式运行,即在屏幕不输出执行结果
  • -N:登录密码,因为是采用无密码登录,这里为空
  • -f:ssh key写入的文件名
  • -y:如果已经存在.ssh目录则自动覆盖,并且在执行后打印出public key(没有找到只自动覆盖的选项,这选项凑合用吧)。如果是在脚本中创建ssh key,则可以首先探测~/.ssh是否存在,就无需-y选项了。
远程主机的Noven用户不一定是登陆用户。为了安全期间,远程主机的Noven用户往往设置为非登陆用户,即slave主机的/etc/password文件中,将cat用户的登陆shell修改为/bin/flase。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值