登录远程服务器
$ ssh root@192.168.1.100
不输入密码ssh直接登录阿里云Linux主机
在Terminal中用ssh命令登录服务器每次都要输入密码,虽然可以复制/粘贴密码,但登录后一段时间不操作,服务器会自动断开连接,连接时又要复制/粘贴密码,还是有些不方便。
有没有办法实现登录时不用输入密码呢?有办法,这篇博文分享的就是解决方法。
不输入密码,服务器如何验证客户端呢?通过证书,证书就像你进办公室门时的门卡。客户端登录时,拿门卡(证书)在服务器上刷一下(证书验证),服务器会检查这张门卡能不能开门。
那如何制作门卡,如何把门卡信息告诉服务器呢?用下面的操作步骤来回答这个问题。
1. 打开你放门卡的皮夹
cd ~/.ssh/
如果没有皮夹,去买一个:
mkdir ~/.ssh
- 制作门卡(默认会生成id_rsa和id_rsa.pub,如果你之前有生成这两个文件,现在就不需要再生成了,可以复用的,而且新生成的id_rsa和id_rsa.pub还会覆盖掉原来的,特别是连着公司的svn和git的一些,最好不要再生成了)默认门卡文件名:id_rsa.pub
ssh-keygen -t rsa
- 将门卡复制一个并放至服务器的皮夹(注:如果服务器上没有.ssh文件夹,需要先登录服务器进行创建。)
scp id_rsa.pub username@serverIP:~/.ssh/id_rsa.pub
- 登录到服务器(需要输入密码),从服务器皮夹中拿出门卡,取出其中的信息,放到专用的夹层
ssh username@server
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
- 销毁服务器皮夹中的门卡(完成后退出服务器再登录就不需要输入密码了)
rm id_rsa.pub
拷贝文件到远程服务器
$ scp -r /home/administrator/test/ root@192.168.1.100:/root/
让程序在后台运行(自动输出到当前目录下的 nohup.out 文件中)
$ nohup python spider.py &
以用户为主的格式来显示所有在跑的程序
$ ps aux
杀掉一个进程
$ kill -9 pid
设置定时任务
# 添加或删除定时任务
crontab -e
# 查看当前的定时任务
crontab -l