分类 linux 下的文章

ssh密钥登录详解

ssh密钥登录详解

Tags: ssh 

0

1)ssh-keygen -t rsa     (在服务器端生成公钥、私钥对)【命令后会让输入密钥名称如果不写名称即默认id_rsa、id_rsa.pub ,然后公钥,密钥密码,然后就会生成】 
 
 ~/.ssh/id_rsa (生成后的私钥位置) 
 ~/.ssh/id_rsa.pub (生成后的公钥位置)



私钥是唯一的, 公钥是可以多发的。


公钥下发要服务器上:
scp -p ~/.ssh/id_rsa.pub root@192.168.1.7:/root/.ssh/authorized_keys
【如果下发到的服务器上没有这个.ssh目录则需要先创建目录
   ssh root@192.168.1.7 'mkdir ~/.ssh/' 】
【如果下发的服务器上有多个公钥,需要把自己的公钥文件传过去,然后追加到
authorized_keys文件下

命令:

(1)上传公钥名为
more id_rsa.pub:
 
more id_rsa.pub >> authorized_keys (服务器端启用公钥,追加到公钥文件)  
more ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (目录外执行,追加公钥文件)

(2)ssh root@192.168.1.7 '
more ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys'(直接执行命令)


 

注:如果认证未生效,检查配置文件将/etc/ssh/sshd_config中的rsa认证功能打开.(去掉注释)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile                .ssh/authorized_keys


然后重新启动sshd就行了.
service sshd restart

2)进阶设置

禁止口令登录

vi /etc/ssh/sshd_config

PasswordAuthentication yes 改为 PasswordAuthentication no

#PasswordAuthentication yes
PasswordAuthentication no

阿里云 (安装Nginx)

1) 挂载磁盘

mkdir /data

echo "/dev/xvdb /data ext4 defaults,noatime,nodiratime 0 0" >> /etc/fstab

mkfs.ext4 -E lazy_itable_init=1 /dev/xvdb

mount -a

1+) 阿里云磁盘镜像(以备不时之需)

2) 安装LAMP服务器(略)

mkdir /data/env/

mkdir /data/www/

http://oslo.ps.pe/doc/project/?lamp

2+) 安装LEMP服务器

mkdir /data/env/

mkdir /data/www/

安装说明

系统环境:CentOS release 6.5 (Final)
软件:nginx-1.8.0.tar.gz
安装方式:yum安装(部署快速, 故未采用源码编译安装)

源码安装简要提示:

下载地址:http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.8.0.tar.gz

安装Nginx

参考:http://shmily2038.iteye.com/blog/1860063

Ubuntu下安装nginx,直接apt-get install nginx就行了,很方便。

CentOS6.5,直接yum install nginx不行,要先处理下源。

(1) 配置yum源

CentOS 6.x

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

CentOS 7.x

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

可能遇到的问题:http://jafy00.blog.51cto.com/2594646/744306

一般情况下 yum clean all 即可解决

(2) 查看yum的nginx信息

yum info nginx

注:阿里云CentOS release 6.5 (Final)镜像的yum源能直接yum安装nginx,无需更改yum源

(3) 安装并启动nignx

yum install -y nginx
service nginx start
chkconfig nginx on #设为开机启动 (默认已开启)

3+) 关闭防火墙

service iptables stop #永久关闭防火墙(即时生效)
chkconfig iptables off #永久关闭防火墙(重启生效)

(4) 浏览器测试

http://192.168.1.8/

安装成功, 浏览器返回内容!!

Welcome to nginx!

注:centos 7.x相关命令请参考

http://oslo.ps.pe/doc/project/?lamp

http://www.laozuo.org/5494.html

3) nginx配置

参考:http://www.cnblogs.com/zhoulf/archive/2013/02/09/2909653.html

参考:http://www.csdn123.com/html/topnews201408/40/4940.htm

vi /etc/nginx/nginx.conf #Nginx的全局配置
vi /etc/nginx/conf.d/default.conf #server 虚拟主机配置

root部分为默认web根目录

    location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
nginx -V #查看版本和模块

虚机配置参考:http://www.neoease.com/nginx-virtual-host/

虚机配置参考:http://blog.itblood.com/nginx-same-ip-multi-domain-configuration.html

(1) 创建虚拟主机配置文件

mkdir /etc/nginx/conf.d/vhost/
vi /etc/nginx/conf.d/vhost/tt_ty_demo.conf
server {
listen 80;
server_name demo.ty.tt;
index index.html index.htm index.php;
root /data/www/tt_ty_demo;

    access_log  /var/log/nginx/demo.ty.tt.log main;

}

注:一个文件内配置多个域名的写法(只需要把server段重复一次即可) [示例略]

server {
listen 80;
server_name ty.tt www.ty.tt; #解析多个域名,如www域名,空格分开即可
index index.html index.htm index.php;
root /data/www/tt_ty_demo;

    access_log  /var/log/nginx/demo.ty.tt.log main;

}

(2) 引入虚拟主机配置文件(nginx.conf底部)

    #include /etc/nginx/conf.d/.conf;
include /etc/nginx/conf.d/vhost/
.conf;

(3) 让 Nginx 虚拟主机支持 PHP

见后文php部分

(4) 不带www的域名加301跳转

server {
listen 80;
server_name ty.tt;
rewrite ^/(.*) http://www.ty.tt/$1 permanent;
}

(5) 添加404网页

server {
listen 80;
server_name demo.ty.tt;
index index.html index.htm index.php;
root /data/www/tt_ty_demo;

    error_page 404 /404.html;

    access_log  /var/log/nginx/demo.ty.tt.log main;

}

(6) 配置ip直接访问的默认站点

server {
listen 80 default;
server_name demo.ty.tt;
index index.html index.htm index.php;
root /data/www/tt_ty_demo;

    access_log  /var/log/nginx/demo.ty.tt.log main;

}

安装MySQL

1) 检查安装mysql

rpm -qa|grep mysql #检查是否安装mysql
yum -y install mysql mysql-server #使用YUM 自动安装

2) 启动MySQL

service mysqld start #启动MySQL

3) 设为开机启动

chkconfig mysqld on #设为开机启动

4) 为root账户设置密码

mysql_secure_installation

安装PHP

1) 查询系统中有没有安装PCRE

rpm -qa | grep pcre

2) 安装PHP5

rpm -qa|grep php #检查是否安装php
yum -y install php #使用YUM 自动安装

php-fpm参考:http://php-fpm.org/

3) 安装PHP组件,使PHP支持 MySQL、PHP支持FastCGI模式

yum -y install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm
service mysqld restart #重启MySql
service nginx restart #重启nginx
service php-fpm start #启动php-fpm (暂时不执行,仅供参考,后文执行即可;如果先执行,修改完user和group配置仍需重启)
chkconfig php-fpm on  #设置开机启动

3) 配置nginx支持php

server {
listen 80;
server_name demo.ty.tt;
index index.html index.htm index.php;
root /data/www/tt_ty_demo;

    location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
    }

    access_log  /var/log/nginx/demo.ty.tt.log main;

}

4) 配置php-fpm

vi /etc/php-fpm.d/www.conf
       user = nginx   #修改用户为nginx
group = nginx #修改组为nginx
service php-fpm start #启动php-fpm

5) session目录权限

注意:session目录权限问题!!

yum安装的php,默认session目录为apache组。

困扰了俺大半天,以后多注意...

session.save_path = "/var/lib/php/session" #
# ll
total 4
drwxrwx--- 2 root apache 4096 Oct 31 2014 session
#ll
total 4
drwxrwx--- 2 root nginx 4096 Oct 31 2014 session

Linux下如何进行FTP设置

一、Redhat/CentOS安装vsftp软件

1.更新yum源

首先需要更新系统的yum源,便捷工具下载地址:http://help.aliyun.com/manual?spm=0.0.0.0.zJ3dBU&helpId=1692

2.安装vsftp

使用yum命令安装vsftp

#yum install vsftpd -y

3.添加ftp帐号和目录

先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。

使用下面的命令创建帐户,该命令指定了/alidata/www/wwwroot为用户pwftp的家目录,您可以自己定义帐户名和目录:

#useradd -d /alidata/www/wwwroot -s /sbin/nologin pwftp

修改该帐户密码:

#passwd pwftp

修改指定目录的权限

#chown -R pwftp.pwftp /alidata/www/wwwroot

4.配置vsftp

编辑vsftp配置文件,命令如下:

#vi /etc/vsftpd/vsftpd.conf

将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”

取消如下配置前的注释符号:

local_enable=YES

write_enable=YES

chroot_local_user=YES

保存修改,按ESC键,输入:wq

5.修改shell配置

vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去

6.启动vsftp服务并测试登录

使用命令启动vsftp服务:

#service vsftpd start

然后用帐号pwftp测试下是否可以登陆ftp。目录是/alidata/www/wwwroot。

 

二、Ubuntu/Debian安装vsftp软件

1.更新软件源

首先需要更新系统的软件源,便捷工具下载地址:http://help.aliyun.com/manual?spm=0.0.0.0.zJ3dBU&helpId=1692

2.安装vsftp

使用apt-get命令安装vsftp

#apt-get install vsftpd -y

3.添加ftp帐号和目录

先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。

使用下面的命令创建帐户,该命令指定了/alidata/www/wwwroot为用户pwftp的家目录,您可以自己定义帐户名和目录:

#useradd -d /alidata/www/wwwroot -s /sbin/nologin pwftp

修改该帐户密码:

#passwd pwftp

修改指定目录的权限

#chown -R pwftp.pwftp /alidata/www/wwwroot

4.配置vsftp

编辑vsftp配置文件,命令如下:

#vi /etc/vsftpd.conf

将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”

取消如下配置前的注释符号:

local_enable=YES

write_enable=YES

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

保存退出

编辑/etc/vsftpd.chroot_list文件,将ftp的帐户名添加进去,保存退出

5.修改shell配置

vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去

6.重启vsftp服务并测试登录

使用命令启动vsftp服务:

#service vsftpd restart

然后用帐号pwftp测试下是否可以登陆ftp。目录是/alidata/www/wwwroot。

CentOS 6.3安装配置LAMP服务器

1) 检查防火墙iptables状态

service iptables status
iptables -L
service iptables restart #重启防火墙

iptables防火墙扩展:

iptables -F
service iptables stop #永久关闭防火墙(即时生效)
chkconfig iptables off #永久关闭防火墙(重启生效)

说明:-F 是清空指定某个 chains 内所有的 rule 设定。比方 iptables -F -t filter,那就是把 filter table 内所有的INPUT/OUTPUT/FORWARD chain 设定的规则都清空。-X 是删除使用者自订 table 项目,一般使用 iptables -N xxx 新增自订 chain 后,可以使用 iptables -X xxx 删除之。

2) 安装Apache

rpm -qa|grep httpd #检查是否安装httpd
yum -y install httpd #使用YUM 自动安装

3) 启动Apache

service httpd start

4) 解决apache启动错误"httpd:Could not reliably determine..."

vi /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80
ServerName localhost:80

4) 设为开机启动

chkconfig httpd on

5) 重启Apache

service httpd restart

6) 查看启动Apache运行状态

service httpd status

7) 安装MySQL

rpm -qa|grep mysql #检查是否安装mysql
yum -y install mysql mysql-server #使用YUM 自动安装

7+) mysql配置文件路径 /etc/my.cnf

mysql配置文件my.cnf详解:http://www.cnblogs.com/toby/articles/2198697.html

mysql数据文件目录 datadir=/var/lib/mysql

8) 启动MySQL

service mysqld start

9) 设为开机启动

chkconfig mysqld on
cp /etc/my.cnf /etc/my.cnfbak
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

10) 为root账户设置密码 *

mysql_secure_installation

11) MySql密码设置完成,重新启动 MySQL

service mysqld restart

12) 停止 mysqld

service mysqld stop

13) 安装PHP5

rpm -qa|grep php #检查是否安装php
yum -y install php #使用YUM 自动安装

14) 安装PHP组件,使 PHP5 支持 MySQL

yum -y install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt

15) 重启MySql

service mysqld restart

16) 重启Apche

service httpd restart

17) 权限设置

chown apache.apache -R /var/www/html/

18) Apache配置

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.confbak #备份
vi /etc/httpd/conf/httpd.conf #编辑文件

18+) apache默认的程序目录是/var/www/html

19) php配置

cp /etc/php.ini /etc/php.inibak #备份
vi /etc/php.ini #编辑

20) 关闭SELINUX

SELINUX建议关闭:/mc/?post/qujw2s

setenforce 0

参考:http://www.linuxidc.com/Linux/2012-11/74388p2.htm

虚拟机下CentOS 安装

【1】. VMware中安装CentOS:

(1)新建虚拟机。

File - New - Virtual Machine (Ctrl+N)Typical(recommended) - I will install the operating system later. - Linux - CentOSVirtual machine name: CentOS6.2 - - Customize Hardware (Network Adapter: Bridged)Finish

(2)选择ISO镜像,启动虚拟机。

Settings - Hardware - CD/DVD (IDE) - Use ISO image file - Browse (CentOS-6.2-i386-minimal.iso) - OKVM - Power - Power On (Ctrl+B)

(3)安装片段。

Disc Found - SkipNext - - - Yes,discard any data - Configure Network (Wired - System eth0 - Edit - Connect automatically: Tick - IPv4 Settings - Method: Manual - Add :ip/mask/gateway - DNS servers: 210.2.2.2 - Apply - Close)select your time zone: Asia/Shanghai - Root Password: 123456 - Use Anyway - Next - Write changes to disk - [wait..] - Reboot.

网络配置:

如果安装时未配置网络,可按如下手动配置.

(1). 修改IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=00:0C:29:18:95:2F
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.63.7
PREFIX=24
GATEWAY=192.168.63.254
DNS1=192.168.60.1
DOMAIN=210.2.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=noNAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03

重要部分:(详解)

1) 静态ip地址

:完整设置:

DEVICE="eth0" #指定网卡号 {可略}
BOOTPROTO="none" #是否DHCP或静态ip {可略}(注:静态IP使用none)
HWADDR="00:0C:29:18:95:2F" #MAC地址 {不可略!!如无此项 service network restart 命令不能正确执行}注:不用修改
NM_CONTROLLED="yes" #不需重启网卡生效 {可略}
ONBOOT="yes" #开机启动 {可略}
IPADDR="192.168.63.7" #静态ip地址 {不可略!!如无此项 service network restart 命令可正确执行,但无法分配ip地址}
GATEWAY="192.168.63.254" #网关地址 {不指定网关上不了外网, 如果无需外网可略}
TYPE="Ethernet" #网卡类型 {可略}
UUID="5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03" #通用唯一识别码 {可略}

:必要设置:

HWADDR="00:0C:29:18:95:2F" #MAC地址 {不可略!!如无此项 service network restart 命令不能正确执行}
IPADDR="192.168.63.7" #静态ip地址 {不可略!!如无此项 service network restart 命令可正确执行,但无法分配ip地址}
GATEWAY="192.168.63.254" #网关地址 {不指定网关上不了外网, 如果无需外网可略}

2) DHCP地址

:完整设置:

#参考 "1) 静态ip地址" 部分。

:必要设置:

BOOTPROTO="DHCP" #是否DHCP或静态ip {不可略!!如无此项 service network restart 命令可正确执行,但无法分配ip地址}
HWADDR="00:0C:29:18:95:2F" #MAC地址 {不可略!!如无此项 service network restart 命令不能正确执行}

(2). 修改网关

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.63.254  (注:这句话是需要加的)

(3). 修改DNS

vi /etc/resolv.conf(注:里面是空白 需要添加下面两句 )

search 210.2.1.1
nameserver 192.168.60.1

(4). 重新启动网络配置

service network restart/etc/init.d/network restart 

测试网络是否正确配置:

ifconfig :查看IP配置
ping baidu.com:是否能ping通
xmanager或其它ssh连接器连接。

(5). 自定义安装包:

yum -y install wget;yum -y install gcc;yum -y install make;yum -y install perl

(6). 安装rzsz包用以支持xmanager的文件拖放操作:(可选)

wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz;tar zxf rzsz-3.48.tar.gz;cd src

修改Makefile第四行OFLAG= -O 为 OFLAG= -O -DREGISTERED去掉注册信息。

make posix;cp rz sz /usr/bin/