Xshell-自动登陆
1.通过自带工具(expect)。
2.通过自写脚本 (python、js、vb等)。
1.通过自带工具(expect)。
(1)找到会话属性,点击登陆脚本。
勾选执行以下等待并发送规则。
(2)添加规则。
举例说明expect用法:
2.通过自写脚本 (python、js、vb等)。
先说明脚本如何调用:
1. 点击加号,创建一个默认会话。
2. 打开属性。
3. 如图所示,选自己脚本的位置。
(1)通过脚本调用CONNECT方法连接。
Pass 脚本参考位置:xshell 安装路径 /ScriptSample/Session
备注:博主xshell6
(2)通过堡垒机已经跳转到服务器,但需求切换用户等后续操作。
#服务器列表
servers_switch = {
'ip1': ['user1', 'passwd1'],
'ip2': ['user2', 'passwd2']}
#后缀执行命令
suf_shell = {'ip1': ['cd 目录', 'clear']}
def Main():
xsh.Screen.Synchronous = True
xsh.Screen.Send('hostname -i \n')
xsh.Session.Sleep(1000)
ScreenRow = xsh.Screen.CurrentRow - 1
ReadLine = xsh.Screen.Get(ScreenRow, 1, ScreenRow, 40)
ip = str(ReadLine)
if ip in servers_switch.keys():
user = servers_switch[ip][0]
pd = servers_switch[ip][1]
xsh.Screen.Send('su - %s' % user)
xsh.Screen.Send('\n')
xsh.Screen.Send(pd)
xsh.Screen.Send('\n')
if ip in suf_shell.keys():
for cmd in suf_shell[ip]:
xsh.Screen.Send(cmd)
xsh.Screen.Send('\n')
else:
pass