SSH免密登录 远程创建账户

初级代码游戏的专栏介绍与文章目录-CSDN博客

        SSH免密登录是个很方便的功能,让你可以在一个节点上操作所有主机而不用输入用户名密码。当然这也是个安全隐患,操作节点密码泄露等于所有主机密码泄露。有利有弊,斟酌选择。

目录

一、原理

二、操作步骤

2.1 生成本地密钥对

2.2 复制公钥到对方

2.3 验证

三、其他说明和操作示例

3.1 可以配置本机

3.2 连续执行多个指令

3.3 执行远程用户的配置文件

3.4 后台执行

四、远程自动创建用户并设置免密码


一、原理

        原理很简单,在要远程操作的主机上把控制端的证书安装到受信任的位置就可以了。非对称加密实在是个奇妙的东西。当然,安装证书这一步需要被控制端的管理员自己进行。

二、操作步骤

2.1 生成本地密钥对

#生成本地密钥对,可指定文件名,默认为id_rsa和id_rsa.pub
ssh-keygen -t rsa -P ''

2.2 复制公钥到对方

#复制公钥到对方,由于目前还不是免密码的,因此执行过程需要输入密码(在.ssh目录下执行)
ssh-copy-id -i id_rsa.pub 用户名@对方主机名

2.3 验证

#执行任何命令来测试免密码登陆是否成功,例如
ssh '用户名@对方主机名' ls -al

三、其他说明和操作示例

3.1 可以配置本机

也可以配置127.0.0.1和本机地址,以便程序可以用ssh访问本机本用户

3.2 连续执行多个指令

如果需要连续执行多个指令,需要把对方主机的指令用引号包裹,不然会分号之后的指令会在本地执行
ssh '用户名@对方主机名' 'cd efc;ls -al'

3.3 执行远程用户的配置文件

对方主机登陆后可能并未执行用户配置文件,因此需要把执行用户配置文件作为第一个指令(指令是 . ./bash_profile)
ssh '用户名@对方主机名' '. ./.bash_profile;cd efc;ls -al'

3.4 后台执行

对于启动后台进程的命令ssh不能退出,可以加上 "> /dev/null 2>&1" 将输出关闭
这样可以退出并且仍然可以得到退出码,但是得不到屏幕输出

四、远程自动创建用户并设置免密码

首先手工给远程root安装公钥,除非制作安装包时提前做好,否则只能手工

然后复制远程root的.ssh到用户模板目录,这样新用户创建时自动安装好公钥(注意,root下应该还没有安装别的公钥)
ssh 'root@192.168.254.4' 'cp -r .ssh /etc/skel'

远程创建用户(逐条执行,一次多行会失败)
ssh 'root@192.168.254.4' 'useradd user1;echo "123" | passwd --stdin user1'
ssh 'root@192.168.254.4' 'useradd user2;echo "123" | passwd --stdin user2'
ssh 'root@192.168.254.4' 'useradd user3;echo "123" | passwd --stdin user3'
ssh 'root@192.168.254.4' 'useradd user4;echo "123" | passwd --stdin user4'
ssh 'root@192.168.254.4' 'useradd user5;echo "123" | passwd --stdin user5'
ssh 'root@192.168.254.4' 'useradd user6;echo "123" | passwd --stdin user6'

测试远程用户
ssh 'user2@192.168.254.4' ls -al

语言设置
export LANG=zh_CN.UTF-8

删除用户
userdel user1;rm -rf /home/user1
userdel user2;rm -rf /home/user2
userdel user3;rm -rf /home/user3
userdel user4;rm -rf /home/user4
userdel user5;rm -rf /home/user5
userdel user6;rm -rf /home/user6

(这里是结束)

相关推荐

  1. SSH登录 远程创建账户

    2024-04-08 00:52:02       32 阅读
  2. ssh登录

    2024-04-08 00:52:02       65 阅读
  3. ssh 登录

    2024-04-08 00:52:02       51 阅读
  4. SSH登录

    2024-04-08 00:52:02       31 阅读
  5. ssh登录

    2024-04-08 00:52:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 00:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 00:52:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 00:52:02       82 阅读
  4. Python语言-面向对象

    2024-04-08 00:52:02       91 阅读

热门阅读

  1. 前端开发之el-select 设置默认值后选项无法切换

    2024-04-08 00:52:02       169 阅读
  2. 违法解除劳动合同后【股票争议】——案例学习

    2024-04-08 00:52:02       41 阅读
  3. 第十五题:最大距离

    2024-04-08 00:52:02       64 阅读
  4. 【算法】求平方根 - 二分法/牛顿迭代

    2024-04-08 00:52:02       36 阅读
  5. 专业虚拟社区用户知识共享行为影响因素研究

    2024-04-08 00:52:02       38 阅读
  6. 数据库基础教程 第三版 —建表

    2024-04-08 00:52:02       39 阅读
  7. 谷歌Rust生产力高于C++两倍?

    2024-04-08 00:52:02       38 阅读