设置免密码登陆:
[root@Redis01 test]# cd /install/
[root@Redis01 install]# rm -rf test/
[root@Redis01 install]# ls
initNetwork.sh
[root@Redis01 install]# ssh Redis02
root@redis02's password:
Last login: Thu Nov 30 23:28:06 2017 from 192.168.238.1
[root@Redis02 ~]# ls /software/
jdk1.7.0_79 mysql-5.5.32 redis-2.8.9
[root@Redis02 ~]# exit
logout
Connection to Redis02 closed.
[root@Redis01 install]# ssh Redis02 "ls /software"
root@redis02's password:
jdk1.7.0_79
mysql-5.5.32
redis-2.8.9

在Redis01设置加密协议:(此处按了三次Enter)
[root@Redis01 install]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
4f:a4:b0:91:3b:75:18:22:9b:f3:f9:11:e4:c6:8d:fb root@Redis01
The key's randomart image is:
+--[ RSA 2048]----+
| . . o |
| + * = |
| + + O + |
| o O * |
| * S . |
| o = |
| . E |
| |
| |
+-----------------+

将加密协议复制到Redis02:
[root@Redis01 install]# ssh-copy-id Redis02
root@redis02's password:
Now try logging into the machine, with "ssh 'Redis02'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

此时在Redis01中登陆Redis02将不需要密码:
[root@Redis01 install]# ssh Redis02
Last login: Thu Nov 30 23:30:44 2017 from redis01
[root@Redis02 ~]# exit
logout
Connection to Redis02 closed.

Redis01登陆自己时也需要密码,所以也需要将加密协议复制给自己:
[root@Redis01 install]# ssh Redis01
The authenticity of host 'redis01 (192.168.238.128)' can't be established.
RSA key fingerprint is 82:72:60:05:6d:dc:3e:bf:f7:aa:2d:f5:08:c1:59:3a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'redis01,192.168.238.128' (RSA) to the list of known hosts.
root@redis01's password:
Last login: Thu Nov 30 15:47:03 2017 from 192.168.238.1
[root@Redis01 ~]# exit
logout
Connection to Redis01 closed.
[root@Redis01 install]# ssh-copy-id Redis01
root@redis01's password:
Now try logging into the machine, with "ssh 'Redis01'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

此时在Redis01中登陆Redis01将不需要密码:
[root@Redis01 install]# ssh Redis01
Last login: Thu Nov 30 15:58:51 2017 from redis01
[root@Redis01 ~]# exit
logout
Connection to Redis01 closed.

此时在用ssh命令时可以直接输入对应的在主机中需要执行的命令:
[root@Redis01 install]# ssh Redis02 "ls /software"
jdk1.7.0_79
mysql-5.5.32
redis-2.8.9

添加用户:
md表示设置指定用户家目录:
[root@Redis01 install]# useradd -md /home/ligang/ ligang
不可修改的查看刚添加的用户目录:
[root@Redis01 install]# less /etc/passwd
查看sh所在位置:
[root@Redis01 install]# type sh
sh is /bin/sh
[root@Redis01 install]# ls -ld /bin/s
sed setfont setserial sh sleep sort stty su sync
[root@Redis01 install]# ls -ld /bin/sh
lrwxrwxrwx. 1 root root 4 7月 13 21:25 /bin/sh -> bash
[root@Redis01 install]# type bash
bash is /bin/bash
[root@Redis01 install]# grep ligang /etc/passwd
ligang:x:502:502::/home/ligang/:/bin/bash
设置用户ligang的密码,必须设置密码才能登陆:
[root@Redis01 install]# passwd ligang
更改用户 ligang 的密码 。
新的 密码:
无效的密码: 它基于字典单词
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

不可修改的查看刚添加的用户的密码:
[root@Redis01 install]# less /etc/shadow

sh默认有权限;./没有权限;
[root@Redis01 test]# ./a.sh
-bash: ./a.sh: 权限不够
[root@Redis01 test]# sh a.sh
Hello World

[root@Redis01 ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history .ssh .viminfo
.. .bash_history .bash_profile .cshrc install.log.syslog .rediscli_history .tcshrc

.当前目录;..上一级目录;.开头的文件表示隐藏文件;

[root@Redis01 ~]# ll -a
总用量 96
dr-xr-x---. 3 root root 4096 11月 29 22:20 .
dr-xr-xr-x. 24 root root 4096 12月 1 10:35 ..
-rw-------. 1 root root 1311 7月 13 21:33 anaconda-ks.cfg
-rw-------. 1 root root 9570 12月 1 10:34 .bash_history
-rw-r--r--. 1 root root 18 5月 20 2009 .bash_logout
-rw-r--r--. 1 root root 176 5月 20 2009 .bash_profile
-rw-r--r--. 1 root root 176 9月 23 2004 .bashrc
-rw-r--r--. 1 root root 100 9月 23 2004 .cshrc
-rw-r--r--. 1 root root 22618 7月 13 21:33 install.log
-rw-r--r--. 1 root root 5890 7月 13 21:32 install.log.syslog
-rw-------. 1 root root 452 11月 28 23:43 .mysql_history
-rw-r--r--. 1 root root 197 11月 30 00:04 .rediscli_history
drwx------. 2 root root 4096 11月 30 15:59 .ssh
-rw-r--r--. 1 root root 129 12月 4 2004 .tcshrc
-rw-------. 1 root root 686 11月 28 00:35 .viminfo

.ssh中的authorized_keys和known_hosts负责保存加密协议;
删除这两个文件后,再次通过ssh协议连接时需要输入密码;
[root@Redis01 ~]# cd .ssh/
[root@Redis01 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts

清空的意思,相当于空覆盖原有内容:
[root@Redis01 .ssh]# >known_hosts
[root@Redis01 .ssh]# >authorized_keys

[root@Redis01 .ssh]# ls -ld authorized_keys
-rw-------. 1 root root 394 11月 30 15:59 authorized_keys

[root@Redis01 ~]# ls -ld .ssh
drwx------. 2 root root 4096 11月 30 15:59 .ssh

Linux命令-设置免密码登录的更多相关文章

  1. Linux 配置ssh 免密码登录

    在平常应用中,我们经常会登录到其他主机,比如说服务器,每次都需要用户名和密码. 我们可以通过ssh免密码登录服务器而不需要输入密码. 现在有一台ubuntu的阿里云服务器,称之为 server.  公 ...

  2. linux实现ssh免密码登录

    linux实现ssh免密码登录 本地系统执行 ssh-keygen -t rsa 命令,生成密钥文件 在相应的目录下查看生成的密钥文件,其中:id_rsa为私钥文件,id_rsa.pub为公钥文件 本 ...

  3. Linux下SSH免密码登录

    转自:http://haitao.iteye.com/blog/1744272 ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所 ...

  4. linux ssh公钥免密码登录

    ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 一.SSH公钥登录原理 在平时工作中我们经常要远程登录服务器,这就要用到SSH ...

  5. linux 配置ssh免密码登录

    1.确保主机名唯一 主机名修改方法: a.修改/etc/sysconfig/network,HOSTNAME=想要设置的主机名称 b.修改/etc/hosts,127.0.0.1   localhos ...

  6. linux操作系统-两台linux服务器SSH免密码登录

    A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), ip为192.168.100.247 ; A和B的系统都是Linux   在A上的命令 # ssh-keyg ...

  7. git设置免密码登录

    设置用户名和邮箱 git config --global user.name "<username>" git config --global user.email & ...

  8. jenkins发布项目到远程主机上,配置linux使用SSH免密码登录

    一.首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即被控 ...

  9. Mac下到Linux主机ssh免密码登录

    最近忙得忘乎所以,写篇博客放松放松,RT,直接上命令好了 # Local ssh-keygen -t rsa scp ~/.ssh/id_rsa.pub username@server:~/.ssh/ ...

随机推荐

  1. python之路(四)-set集合

    set集合 set是一个无序且不重复的元素集合优点:访问速度快,解决重复问题 l1 = [1,2,34,5,6,7,4,3,3,] s2 = set(l1) #可以以列表元祖等作为参数传进来,set集 ...

  2. LCD_FSMC

    /************************************************************************** * 文件名:LCD_FSMC.h * * 编写人 ...

  3. 小白看过来runtinme

    RunTime 概述 RunTime消息机制 RunTime交换方法 RunTime消息转发 RunTime关联对象 RunTime实现字典与模型互转 1.RunTime 概述 我们在面试的时候,经常 ...

  4. Windows 10 IoT Serials 11 – 如何设置微软认知服务中EndPoint

    1.问题描述 在UWP应用开发过程中,如果要使用微软认知服务,很多开发者会使用Microsoft.Oxford.Face.Microsoft.Oxford.Vision的NuGet包来完成.如果在vi ...

  5. 【转】Asp.NetMve移除HTTP Header中服務器信息Server、X-AspNet-Version、X-AspNetMvc-Version、X-Powered-By:ASP.NET

    默認情況下Chrome中截獲的HTTP Header信息: Cache-Control: Content-Encoding:gzip Content-Length: Content-Type:text ...

  6. 第64节:Java中的Spring Boot 2.0简介笔记

    Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...

  7. 第45节:Java当中的变量,面向对象

    Java当中的变量 01 Java当中的实例变量和类变量 什么是实例变量和类变量呢? 实例变量为没有用static修饰符修饰的变量,而类变量为用static修饰符修饰的变量. public class ...

  8. [Postman]Postman导航(3)

    Postman提供了一个多窗口和多标签界面,供您使用API​​. 此界面设计为您提供尽可能多的API空间. 侧边栏 邮差侧边栏可让您查找和管理请求和集合.侧边栏有两个主要选项卡:  历史记录  和   ...

  9. java中Base64的加密工具封装

    Base64加密作为最简单普遍的加密方式(其实只能称为编码方式),应用场景众多比如秘钥,安全证书,也应用在其他的加密方式中或与其他加密方式进行嵌套使用 可以通过引用sun.misc来使用,也可以自己手 ...

  10. 部署 HTTPS 访问 ( https:// )

    简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,要比http协议安全. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是4 ...