一 SSH命令使用技巧
创新互联是一家集网站建设,卧龙企业网站建设,卧龙品牌网站建设,网站定制,卧龙网站建设报价,网络营销,网络优化,卧龙网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
- 远程登录
ssh user@remote.machine
- 远程执行
ssh user@remote.machine 'command ...'
- 远程复制
scp user@remote.machine:/remote/path /local/path
scp /local/path user@remote.machine:/remote/path
- X forward
ssh -X user@remote.machine
xcommand ...
- Tunnel / Portforward
ssh -L 1234:remote.machine:4321 user@remote.machine
ssh -R 1234:local.machine:4321 user@remote.machine
ssh -L 1234:other.machine:4321 user@remote.machine
二, 实作
1) 禁止 root 登录
# vi /etc/ssh/sshd_config
PermitRootLogin no
2) 废除密码登录, 强迫使用 RSA 验证(假设 ssh 账户为 user1 )
# vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
# service sshd restart
# su - user1
$ mkdir ~/.ssh 2/dev/null
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 644 ~/.ssh/authorized_keys
登入 端:
$ ssh-keygen -t rsa
(按三下 enter 完成﹔不需设密码,除非您会用 ssh-agent 。)
$ scp ~/.ssh/id_rsa.pub user1@server.machine:id_rsa.pub
(若是 windows client, 可用 puttygen.exe 产生 public key,
然后复制到 server 端后修改之, 使其内容成为单一一行.)
回到 server 端:
$ cat ~/id_rsa.pub ~/.ssh/authorized_keys
$ rm ~/id_rsa.pub
$ exit
3) 限制 su / sudo 名单:
# vi /etc/pam.d/su
auth required /lib/security/$ISA/pam_wheel.so use_uid
# visudo
%wheel ALL=(ALL) ALL
# gpasswd -a user1 wheel
4) 限制 ssh 使用者名单
# vi /etc/pam.d/sshd
auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users ōnerr=fail
# echo user1 /etc/ssh_users
后台无法登陆,出现Access denied指的是配置文件不正确,具体解决步骤如下:
1、当在浏览器中进行打开自己的一个网页之后,提示Access denied for user 'root'@'localhost' (using password NO)提示了数据访问的错误信息。
2、需要更改root的权限远程的访问的权限,进行进入到自己数据库之后,进入mysql数据库中:use mysql。
3、进行执行update user set host='%' where user='root' 的命令进行执行。
4、执行了相关的命令之后,还是需要进行执行的flush privileges的命令。
5、还需要进行修改的是在etc/sysconfig/selinux进行编辑SELINUX=disabled中。
6、设置完成之后还是需要进行重启Linux,在访问之后,不在显示错误的内容。
不管你用什么用户名登录, 你的根目录下都应该有个自动加载脚本:
cd ~
vi .bashrc (这个是bash的,如果是tcsh,文件该是.cshrc )
然后把你的执行脚本的命令放进去就行了,完了之后重启或者执行source .bashrc
比如:
root@alex:~# cat ~/.bashrc
# 执行/usr/bin目录下的abc.sh
/usr/bin/abc.sh
# 或者执行当前目录下的abc.sh
./abc.sh
写个脚本判断是否用户登录 如果用户登录则脚本内执行任务 计划任务设定时间去执行一下脚本