SSH基础应用一、不登陆远程主机在上面创建用户# ssh root@远程主机 ‘useradd xxxx’二、登陆远程主机,能打开GUI界面# ssh -X root@远程主机三、主要的配置文件更改# vim /etc/ssh/sshd_configUseDNS no 阻止DNS反解析(可提高客户端登录效率)LoginGraceTime 2m 登录限时(宽限期),若客户端超过此时间(默认2分钟)未登录成功,服务器将主动断开连接StrictModes yes 严格模式,此模式会在允许登入前检查用户家目录和密钥库文件的权限、归属,若有异常(其他人能写入)则拒绝登入MaxAuthTries 6 每次连接允许认证登录的最多次数,若超过此次数仍未登录成功,服务器将主动断开连接DenyUsers User1 User2AllowUser User2 User2DenyGroups GROUP1 GROUP2AllowGroups GROUP1 GROUP2sshd处理规则的先后顺序,是从上到下执行的,Deny和Allow规则建议不要同时使用只用Deny规则时相当于黑名单策略(仅拒绝…,其他允许);只用Allow规则时相当于白名单策略(仅允许…,其他拒绝).四.实现不用密码即可连接ssh1、生成密钥对# 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/bashOLDPASS=123456NEWPASS=Taren1for IP in $(cat /root/bin/ipaddr.txt)doexpect<<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 eofEOFdone
本文转自Jx战壕 51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1403224,如需转载请自行联系原作者