OpenSSH-配置笔记

◆案例1◆ SSH常用参数配置说明

配置文件说明

vim /etc/ssh/sshd_config

port 22                               #监听端口
addressFamily any                     #允许所有人链接
listenAddress 0.0.0.0                 #IPV4监听IP 0.0.0.0表示监听所有
listenAddress : :                     #IPV6监听IP
protocol 2                            #使用二代协议
syslogFacility AUTHPRIV               #日志认证等级
permitRootLogin yes                   #是否允许root登陆
passwordAuthentication yes            #是否使用密码认证
permitEmptyPasswords no               #是否允许空密码
loginGraceTime 2m                     #2分钟不输入后自动断开连接
printMotd yes                         #登陆后根据/etc/motd内容打印信息
printLastLog yes                      #输出最后一次登录信息
useDNS yes                            #反查主机名,关闭后可提升登陆速度
gSSAPIAuthentication yes              #GSS认证,关闭后可提升登陆速度
pidFile /var/run/sshd.pid             #存放sshPID的地方
usePrivilegeSeparation sandbox/yes/no #是否允许以较低权限运行
pubkeyAuthentication yes              #使用公钥认证机制
authorizedKeysFile .ssh/auth          #公钥的存放位置

SSH远程登陆

usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]

-q    #静默模式
-i    #指定身份文件
-o    #指定配置选项
-X    #开启X11转发功能
-x    #关闭X11转发功能
-y    #开启信任X11转发功能
-1    #强制使用ssh协议版本1
-2    #强制使用ssh协议版本2
-4    #强制使用IPv4地址
-6    #强制使用IPv6地址
-C    #请求压缩所有数据
-f    #后台执行ssh指令
-N    #不执行远程指令
-F    #指定ssh指令的配置文件
-A    #开启认证代理连接转发功能
-a    #关闭认证代理连接转发功能
-l    #指定连接远程服务器登录用户名
-g    #允许远程主机连接主机的转发端口
-p    #指定远程服务器上的端口
-b    #使用本机指定地址作为对应连接的源ip地址


SSH参考实例

#无选项参数运行SSH

ssh 192.168.1.1

#指定登陆用户

ssh -l username 192.168.*.*
ssh username@192.168.*.*

#指定端口

ssh 192.168.1.1 -p 22

#绑定源地址

ssh -b 192.168.1.1 -l username 192.168.1.2

#使用其他配置文件

ssh -F /root/my_ssh_config 192.168.1.1

SCP跨机远程拷贝

usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]


-1   #强制scp命令使用协议ssh1
-2   #强制scp命令使用协议ssh2
-4   #强制scp命令只使用IPv4寻址
-6   #强制scp命令只使用IPv6寻址
-B   #使用批处理模式(传输过程中不询问传输口令或短语)
-C   #允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p   #留原文件的修改时间,访问时间和访问权限。
-q   #不显示传输进度条。
-r   #递归复制整个目录。
-v   #详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c   #cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F   #ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i   #identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l   #limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o   #ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P   #port 注意是大写的P, port是指定数据传输用到的端口号
-S   #program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

SCP参考实例

#本地复制远程文件:(把远程的文件复制到本地)
scp [email protected]:/val/test/test.tar.gz /val/test/test.tar.gz

#远程复制本地文件:(把本地的文件复制到远程主机上)
scp /val/test.tar.gz [email protected]:/val/test.tar.gz

#本地复制远程目录:(把远程的目录复制到本地)
scp -r [email protected]:/val/test/ /val/test/

#远程复制本地目录:(把本地的目录复制到远程主机上)
scp -r ./ubuntu_env/ [email protected]:/home/pipi

#本地复制远程文件到指定目录:(把远程的文件复制到本地)
scp [email protected]:/val/test/test.tar.gz /val/test/

#远程复制本地文件到指定目录:(把本地的文件复制到远程主机上)
scp /val/test.tar.gz [email protected]:/val/

案例1:使用传统方式实现ssh认证

1.在客户端上生成密钥对,默认会存放在/root/.ssh/目录中

sshkeygen #其中id_rsa.pub为公钥 id_rsa为私钥

2.将公钥文件复制到服务端的/root/家目录下,并改名为authorized_keys.

◆案例2◆:使用命令一键认证

1.在客户端上生成密钥对,默认会存放在/root/.ssh/目录中

sshkeygen #其中id_rsa.pub为公钥 id_rsa为私私钥

2.拷贝公钥到目标IP

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

拓展:两台linux服务器之间复制数据

Scp /etc/passwd [email protected]:/tmp #将/etc/passwd 复制到远程的/tmp下
Scp [email protected]:/etc/passwd /opt #将远程/etc/passwd 拷贝到本地/opt下

#拷贝目录:加入 –r即可拷贝目录

猜你喜欢

转载自www.cnblogs.com/LyShark/p/9062863.html