包含标签 ssh 的文章

使用expect和ssh登录服务器

expect可以帮助我们 自动化完成一些交互操作。 使用expect来执行ssh命令 编写脚本 #!/usr/bin/expect #sshlogin.exp set timeout 30 set host "192.168.1.8" set username "your_username" set password "yout_password" spawn ssh $username@$host #expect "*password:*" {send "$password\r"} expect { "*password:" {send "$password\r"} } interact 给脚本权限 chmod 755 运行脚本 ./sshlogin.exp 使用一行命令直接运行 expect -c 'spawn ssh {{username}}@{{host}}; expect "*password:*"; send "{{password}}\r"; interact' references: https://en.wikipedia.org/wiki/Expect https://stackoverflow.com/questions/3149367/how-to-get-expect-c-to-work-in-single-line-rather-than-script……

阅读全文

ssh端口转发

修改公网机器的配置 修改sshd_config vim /etc/ssh/sshd_config #GatewayPorts no => GatewayPorts yes #重启ssh服务 sudo /etc/init.d/ssh stop root@localhost:~# sudo /etc/init.d/ssh start 内网机器端口转发(假设内网的机器端口80要转发到公网机器的9091端口上) ssh -NR 9091:0.0.0.0:80 root@remote_ip ……

阅读全文

使用PEM文件ssh

连接服务器 sudo chmod 600 key.pem ssh -i key.pem username@ip ssh-add key.pem ssh-add -l #显示密钥 sudo ssh-add -D #删除所有密钥 ……

阅读全文

ssh隧道远程端口转发

设置GatewayPort sudo vim /etc/ssh/sshd_config GatewayPort yes 重启ssh使其生效 /etc/init.d/ssh restart ssh -NfR {localport}:{localhost}:{remoteport} {username}@{remoteip} #举例 ssh -NfR 222:0.0.0.0:22 root@ip地址 -N:不执行远程指令 -f:后台执行ssh指令 -R: 远程端口转发 保持连接 vim ~/.ssh/config ServerAliveInterval 30 关闭 fuser -v -n tcp {端口} kill 9 {进程号} ……

阅读全文