SSH基础应用

简介:
SSH基础应用

一、不登陆远程主机在上面创建用户
# ssh  root@远程主机  ‘useradd xxxx’
二、登陆远程主机,能打开GUI界面
# ssh  -X  root@远程主机
三、主要的配置文件更改
# vim /etc/ssh/sshd_config
UseDNS  no        阻止DNS反解析(可提高客户端登录效率)
LoginGraceTime  2m    登录限时(宽限期),若客户端超过此时间(默认2分钟)未登录成功,服务器将主动断开连接
StrictModes  yes    严格模式,此模式会在允许登入前检查用户家目录和密钥库文件的权限、归属,若有异常(其他人能写入)则拒绝登入
MaxAuthTries  6        每次连接允许认证登录的最多次数,若超过此次数仍未登录成功,服务器将主动断开连接

DenyUsers User1 User2
AllowUser User2 User2
DenyGroups GROUP1 GROUP2
AllowGroups GROUP1 GROUP2
sshd处理规则的先后顺序,是从上到下执行的,Deny和Allow规则建议不要同时使用
只用Deny规则时相当于黑名单策略(仅拒绝…,其他允许);
只用Allow规则时相当于白名单策略(仅允许…,其他拒绝).

四.实现不用密码即可连接ssh

1、生成密钥对
# ssh-keygen   ->后续全部回车
2、上传公钥到服务器root用户下
# ssh-copy-id  -i  root@服务器IP地址

3、ssh到服务器上或scp文件都不再需要填写密码

4、当客户端连接远程服务器时,会在客户端当前用户的家目录下生成.ssh/known_hosts文件,把服务器的身份信息保存下来。下一次客户端再连接时,就不再询问是否继续(yes/no)?

5、使用密钥对方式连接时,客户端生成的密钥是用户家目录下.ssh/id_rsa和.ssh/id_rsa.pub,上传时是将id_rsa.pub写入到服务器相关用户家目录下.ssh/authorized_keys文件中

五.脚本实现更改多台服务器的密码

安装expect工具
创建存放IP地址的文件/root/bin/ipaddr.txt
因为需要更改的ip地址可能是不不规律的;
脚本        
#!/bin/bash

OLDPASS=123456
NEWPASS=Taren1

for IP in $(cat /root/bin/ipaddr.txt)
do
expect<<EOF
  spwan ssh $IP "echo $NEWPASS | passwd --stdin root"
expect "(yes/no)?"{
        send "yes\r"
       expect "password:"
           send "$OLDPASS\r"
         }"password:"{send "$OLDPASS\r"} 
expect eof
EOF
done



      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1403224 ,如需转载请自行联系原作者




相关文章
|
9月前
|
算法 安全 网络协议
ssh工作流程及其原理——ssh免密登录
ssh工作流程及其原理——ssh免密登录
198 0
|
10月前
|
Java 应用服务中间件 网络安全
【ssh系列一】——框架搭建
建立项目(SpringMVC+Spring+hibernate的maven项目)
|
网络安全 Python
Python编程:fabric实现SSH远程管理服务器
Python编程:fabric实现SSH远程管理服务器
115 0
|
开发框架 Java 数据库连接
SSH 新版整合的那些坑|学习笔记
快速学习 SSH 新版整合的那些坑
|
SQL 网络安全
搬瓦工&极路由(ssh,scp最佳实战案例)
关于搬瓦工 搬瓦工 最近往搬瓦工主机部署项目,而搬瓦工的默认登录端口号并非22号(我的是28208) 正确登录方式(以28208端口为例) ssh -p 28208 用户名@主机名 当要把本地的文件通过scp发送到远程服务器时,需要把-p改为-P才能成功 正确的scp(远程拷贝)方式(fangyuangxiaozhang.
1419 0
|
网络协议 安全 测试技术
|
关系型数据库 Java Spring
|
网络安全 网络协议 Linux