Understanding ssh

SSH Server

1.SSH服务
2.SFTP服务(vsftp,proftp)

ssh command:

ssh -p22 root@backup-server  (远程连接其他服务器)
-p:接端口,默认22端口时刻省略写-p22;
@:前面为用户,如果用当时用户连接,可以不指定用户
@:后面为要连接的服务器的IP,更多用法,man ssh

ssh -p22 root@nfs-server /sbin/ifconfig ens33  

ssh summary:

    1)切换到别的机器上 ssh -p22 user@ip
    2)到其他机器上执行命令(不会切换到机器上) ssh -p22 user@ip 命令(全路径的)
    3)当第一次SSH连接的时候,本地会产生一个秘钥文件~/.ssh/known_hosts(多个秘钥)

The basic syntax of scp uses: (secure copy)

全量(push): scp -P22 -r -p /data root@backup-server:/tmp
全量(pull): scp -P22 -r -p root@backup-server:/tmp /data
/data 为本地目录,backup-server为远端目录,以上命令时把/data拷贝到远端的/tmp目录下

增量: rsync -avz /data -e 'ssh -p 22' root@backup-server:/tmp
(没有daemon模式,需要用ssh通道连接)
注意:scp接端口号时接大写P,-r表示复制目录,-p表示拷贝过程中保持文件或目录原始属性.

scp summary:

    1>scp是加密的远程拷贝,而cp仅为本地拷贝
    2>可以把数据从一台机器推送到另一台机器,也可以从其他服务器把数据拉回到
    本地执行命令的服务器
    3>每次都是全量完整拷贝,因此,效率不高,适合第一次拷贝使用,如需增量拷贝,用rsync

Data transfer tool between windows client and linux server:

    1)rz sz(lrzsz)
    2)winscp WinSCP-v4.0.5   ==>基于SSH,sftp
    3)SFX (xshell)

sftp remote connection server:

 sftp -oPort=22 root@backup-server
上传:
 put /etc/hosts  (将本地的/etc/hosts 目录复制到backup-server的家目录下)
 put /etc/hosts /tmp/  (将本地的hosts目录传到指定的sftp服务器指定的目录/tmp)
下载:
 get /etc/hosts /tmp  (将远端的hosts目录传到本地指定的tmp目录下)

When you know the port number, how to query the corresponding service:

lsof -i tcp:22
netstat -lntup|grep 22
当知道进程名,如何查看对应的端口:
netstat -lntup|grep sshd

Key summary:

    1)ssh为加密的远程连接协议,相关软件有openssh,openssl
    2)默认端口为22
    3)协议版本1.x和2.x  2.x更安全.了解ssh协议的原理
    4)服务端ssh 远程连接服务,sftp服务.sshd守护进程,开机要自启动
    5)ssh客户端包含ssh,scp,sftp命令
    6)ssh安全验证方式:口令和秘钥,这两种都是基于口令的,ssh秘钥登录的原理
    7)ssh服务安全优化,修改默认端口22,禁止root远程连接,禁止DNS,ssh只监听内网IP
    8)ssh秘钥对,公钥(public key)在服务端,比喻就是锁头,私钥(private key)在客户端,
    比喻就是钥匙

Guess you like

Origin blog.51cto.com/14956085/2572445
ssh