用户登录

ssh

远程登录和数据转发

ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file]
         [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport]
         [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
         [-Q cipher | cipher-auth | mac | kex | key] [-R [bind_address:]port:host:hostport] [-S ctl_path]
         [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command]
➜  ~ ssh [email protected]
[email protected]'s password:
Last login: Sun Oct 29 05:06:33 2017 from 192.168.8.192
[root@localhost ~]#

ssh登录部分不复杂,复杂的部分在于数据转发,详情参见这里

ssh -NL 0.0.0.0:3000:127.0.0.1:3001 [email protected]

上述命令代表将发送到101.236.56.1213000端口的数据转发到本机(127.0.0.1)的3001端口

sshpass

可以指定密码的远程登录工具,需要额外安装,详情参见这里

expect

登陆脚本如下,参数为主机和密码,用户名按需修改,配合item2profile非常不错

#! /usr/bin/expect

set host [ lindex $argv 0 ]
set pass [ lindex $argv 1 ]
set timeout 10

spawn ssh -o ServerAliveInterval=60 root@$host
expect {
    "*yes/no" { send "yes\r"; exp_continue}
    "*password" {send "${pass}\r"}
}
interact

免密登录

每次登陆都需要输入密码很麻烦,可以通过免密来解决,详情参考这里

ssh-copy-id命令可以简化拷贝过程

用户切换

su

切换用户

格式如下

su [选项] [用户名]
选项 说明
-c command, --command=command 切换时执行命令
-, -l, --login 切换时使用登陆模式,重新读取环境变量
-m, -p 切换时保留环境变量,如果使用了-l选项,忽略该选项
-s SHELL, --shell=SHELL 切换时指定使用的shell

sudo

提升普通用户的权限

su命令允许普通用户完全变更为root用户身份 但这也无疑会暴露了超级管理员的密码,使得系统增添很多的安全隐患 因此我们需要使用sudo程序来仅将特定命令的执行权限赋予给指定的用户

格式如下

sudo [选项] [用户名]
选项 说明
-b 在后台执行指定的命令
-k 清空安全时间,下次执行sudo时需要再次密码验证
-l 列出当前用户可执行的命令
-u user 用户名或UID值 以指定的用户身份执行命令
-p prompt 更改询问密码的提示语

l -> list | b -> background

sudo相关配置文件和visudo命令可以参考这里

runuser

使用指定用户执行命令,详情参见这里



参考

Linux 下 SSH 命令实例指南
基于SSH协议的端口转发
通过 SSH 实现 TCP / IP 隧道(端口转发)
动态端口转发:安装带有 SSH 的 SOCKS 服务器
sshpass:一个很棒的免交互 SSH 登录工具
expect - 自动交互脚本 如何在 CentOS / RHEL 上设置 SSH 免密码登录 Linux使用ssh公钥实现免密码登录Linux
ssh 免密码设置失败原因总结
KNOWN_HOSTS处理
实战演练su命令与sudo服务
Linux 下以其他用户身份运行程序—— su、sudo、runuser
linux 切换用户身份、su、sudo、/etc/sudoers linux 常用命令: runuser

Copyright © zhujipeng 2017 all right reserved,powered by Gitbook 该文件修订时间: 2017-11-04 14:57:24

results matching ""

    No results matching ""