开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SSH 安全性和配置入门
http://www.ibm.com/developerworks/cn/aix/library/au-sshsecurity/ ...
500 0
SSH 基础
什么是SSH? 传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。
575 0
大规模集群自动化部署SSH无密码登陆
大家需要在每个节点上提前装好"expect"工具 expect的使用请看我的另一篇文章: http://tianxingzhe.blog.51cto.com/3390077/1687661   spawn命令激活一个Unix程序来进行交互式的运行。  send命令向进程发送字符串。 expect命令等待进程的某些字符串 set timeout 1    设置超时时间  timeout -1 为
2001 0
SSH 搭建点滴
前言 开工 第一步 导入相关jar包 第二步 搭建Strtus2环境 创建action和strutsxml 设置过滤器 第三步 搭建Hibernate环境 创建实体类entity 创建和实体类对应的映射配置文件Userhbmxml 创建hibernate核心...
997 0
程序员必备小知识:免密码进行SSH连接
程序员必备小知识:免密码进行SSH连接
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载