linux ssh/telnet远程登陆及免密设置

远程控制命令

 ********◇ telnet命令

                ○ 命令说明:用于远端登入。执行telnet指令开启终端机阶段作业,并登入远端主机。

                ○ 命令语法:telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]

                ○ 参数说明:

                    ● -8 允许使用8位字符资料,包括输入与输出。

                    ● -a 尝试自动登入远端系统。

                    ● -b<主机别名> 使用别名指定远端主机名称。

                    ● -c 不读取用户专属目录里的.telnetrc文件。

                    ● -d 启动排错模式。

                    ● -e<脱离字符> 设置脱离字符。

                    ● -E 滤除脱离字符。

                    ● -f 此参数的效果和指定"-F"参数相同。

                    ● -F 使用Kerberos V5认证时,加此参数可把本地主机的认证数据上传到远端主机。

                    ● -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。

                    ● -K 不自动登入远端主机。

                    ● -l<用户名称> 指定要登入远端主机的用户名称。

                    ● -L 允许输出8位字符资料。

                    ● -n<记录文件> 指定文件记录相关信息。

                    ● -r 使用类似rlogin指令的用户界面。

                    ● -S<服务类型> 设置telnet连线所需的IP TOS信息。

                    ● -x 假设主机有支持数据加密的功能,就使用它。

                    ● -X<认证形态> 关闭指定的认证形态。

                ※ 练习:登录远程主机

                    # telnet 192.168.0.5

                    //登录IP为192.168.0.5的远程主机,执行该命令后需要输入用户名和密

******* ◇ ssh命令

                ○ 命令说明:用于远端登入。执行ssh指令开启终端机阶段作业,并登入远端主机。

                ○ 命令语法:ssh 用户名@IP,执行该命令后需要输入密码

                ○ 和ssh相关的远程拷贝命令scp:

                    ● 命令说明:进行远程拷贝

                    ● 命令语法:scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2

                    ● 简易写法:scp [option(s)] source destination

                    ● 参数说明:

                        ∵ -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的选项。

 ○ 配置ssh免密码登录:

                    ● 前提条件:进行SSH免密登录的前提条件是两台机器的用户名相同。例如有A、B两台机器,这两台机器上都有一个用户名同为briup的用户。现在的需求是在A机器上通过免密(不输入密码,即免密)方式登录B机器。

                    ● 第一步:分别在A和B机器上使用命令“ssh-keygen”生成公钥和私钥。

                        执行该命令之后会在briup用户的家目录下生成“.ssh/”目录和在该“.ssh/”目录下生成公钥“id_rsa.pub”文件和私钥“id_rsa”文件。

                        注意:公钥用来加密,私钥用来解密。

                    ● 第二步:将A机器上的briup用户家目录下的.ssh/目录下的id_rsa.pub拷贝到B机器的briup用户的家目录下(注意是家目录,不是.ssh目录)。

                        命令:scp /home/briup/.ssh/id_rsa.pub briup@B:~

                        命令说明:将上述命令中的“B”更换为具体的主机名或者是IP。注意是拷贝到B机器上的briup用户的家目录,不是“.ssh”目录。

                    ● 第三步:在B机器上,将刚刚从A机器上拷贝过来的“id_rsa.pub”(即B机器briup用户家目录下的“id_rsa.pub”)的内容复制到B机器上的briup家目录下的“.ssh”目录下的“authorized_keys”文件中。

                        命令:cat /home/briup/id_rsa.pub >> /home/briup/.ssh/authorized_keys

                        命令说明:上述命令是在B机器上执行

                    ● 第四步:更改第三步执行命令所生成的“authorized_keys”文件的操作权限为600.

                        命令:chmod 600 /home/briup/.ssh/authorized_keys

                        命令说明:上述命令在B机器上执行

                    ● 第五步:在A机器上通过无密码登录B机器。

                        命令:ssh B

                        命令说明:上述命令在B机器上执行,将“B”更换为具体的主机名或IP地址。

                    ● 额外说明:在使用SSH工具进行远程登录的时候,如果登录的两个机器的用户名相同,可以直接使用命令“ssh 主机名/IP”来远程登录,而不需要输入用户名,即不需要以“ssh briup@主机名/IP”这样的方式登录。

你可能感兴趣的:(linux基础)