1、切换用户后,/etc/profile的配置不起效
解决方法:
用su - root 代替 su root
,或其他用户用su - www 代替 su www
su - root
,产生一个登录shell去执行后面的指令。登录 shell 执行的是shell 登录的流程,会执行 /etc/profile,/etc/profile.d/下定义的*.sh都会执行
su root
,产生一个非登录交互shell,非登录交互shell,只执行 用户家目录下 .profile等配置文件
2、acme.sh(可安装在非root用户,如www用户)
a.生成证书:
./acme.sh --issue -d api.domain.com -w /www/project/laravel/public
,需指定到index.php所处的目录;证书生成后在acme.sh安装目录下
b.安装证书:./acme.sh --install-cert -d api.domain.com --key-file /usr/local/tengine/conf/ssl/api.domain.com/api.domain.com.key --fullchain-file /usr/local/tengine/conf/ssl/api.domain.com/fullchain.cer --reloadcmd "systemctl restart nginx"
若有移动过fullchain-file 等文件的,需注意是否有权限注意:要是重新生成证书,则要把原来的目录删除,如删除api.tajishe.com目录
3、ssh连接服务器
ssh -p端口号 username@服务器ip
ssh -t root@118.31.76.91 -p 22
若要指定密钥key:增加
-i
;如ssh -i ~/.ssh/dongjing-shanghai.pem -t root@118.31.76.91 -p 22
比较远程和本地文件 :
ssh user@host cat /path/to/remotefile | diff /path/to/localfile
4、scp远程拷贝
a、上传至服务器
scp -P端口号 本地文件路径 username@服务器ip:目的路径
b、下载至本地
scp -r -P端口号 username@ip:路径 本地路径
若要指定密钥key:增加
-i
;如ssh -i ~/.ssh/dongjing-shanghai.pem -P端口号 username@ip:路径 本地路径
-r
递归复制目录
-i identity_file
从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-P port
注意是大写的P, port是指定数据传输用到的端口号
-q
不显示传输进度条。
上传和下载操作都是基于本地的,所以不要在已经登录上服务器的状态下执行,否则它会告诉你找不到你的本地路径(文件),因为在服务器有服务器的目录,先exit退出登录再操作吧
参数说明
进阶:指定key连接
5、ssh-copy-id
ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利
将公钥复制到远程机器中
ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx
网友评论