ssh agent forwording ssh agent - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

ssh agent forwording ssh agent

时间:2021-04-02 08:46:23
如何建立linux ssh信任的方法与常见问题在Linux服务器之间建立信任关系,是很多线上服务系统的基础性工作,这样能便于程序在多台服务器之间自动传输数据,或者方便用户不输入密码就可以在不同的主机间
作者:

ssh agent forwording

如何建立linux ssh信任的方法与常见问题

在Linux服务器之间建立信任关系,是很多线上服务系统的基础性工作,这样能便于程序在多台服务器之间自动传输数据,或者方便用户不输入密码就可以在不同的主机间完成登录或者各种操作。

网上关于建立Linux信任关系(ssh trust)的中文文章有一些,但是写得都不太详细,这里汇总了方方面面的资料,把多机信任关系建立方法说说清楚(文/陈运文)一 建立信任关系的基本操作基本场景是想从一台Server服务器直接登录另一台,或者将Server服务器的数据不需密码验证直接拷贝至Client服务器,以下我们简称Server服务器为S(待发送的数据文件在这台服务器上),Client服务为C,信任关系的最简单操作方法如下:1 在S服务器上,进入当前用户根目录下的隐藏目录 .ssh,命令如下:cd ~/.ssh(注:目录名前的点好”.”表示该文件夹是一个特殊的隐藏文件夹,ls命令下默认是看不到的,通过 ls –a 命令观察到)2 生成S服务器的私钥和公钥:ssh-keygen -t rsa(注:rsa是一种加密算法的名称,此处也可以使用dsa,关于rsa和dsa算法的介绍可见本文后半章节)ssh-keygen生成密钥用于信任关系生成-此时会显示Generating public/private key pair. 并提示生成的公钥私钥文件的存放路径和文件名,默认是放在 /home/username/.ssh/id_rsa 这样的文件里的,通常不用改,回车就可以然后Enter passphrase(empty for no passphrase): 通常直接回车,默认不需要口令Enter same passphrase again: 也直接回车然后会显式密钥fingerprint生成好的提示,并给出一个RSA加密协议的方框图形。

此时在.ssh目录下ls,就可以看到生成好的私钥文件id_rsa和公钥文件id_rsa.pub了以下是各种补充说明:注1:如果此时提示 id_rsaalready exists,Overwrite(y/n) 则说明之前已经有人建好了密钥,此时选择n 忽略本次操作就行,可以直接用之前生成好的文件;当然选y覆盖一下也无妨注2:公钥用于加密,它是向所有人公开的(pub是公开的单词public的缩写);私钥用于解密,只有密文的接收者持有。

3 在Server服务器上加载私钥文件仍然在.ssh目录下,执行命令:ssh-add id_rsa系统如果提示:Identity added: id_rsa (id_rsa) 就表明加载成功了下面有几个异常情况处理:–如果系统提示:could not open a connection to your authentication agent则需要执行一下命令:ssh-agent bash然后再执行上述的ssh-add id_rsa命令–如果系统提示id_rsa: No such file or directory这是系统无法找到私钥文件id_rsa,需要看看当前路径是不是不在.ssh目录,或者私钥文件改了名字,例如如果建立的时候改成 aa_rsa,则这边命令中也需要相应改一下-如果系统提示 command not found,那肯定是你命令敲错字符了J-提示Agent admitted failure to sign using the key,私钥没有加载成功,重试ssh-add-注意id_rsa/id_rsa.pub文件不要删除,存放在.ssh目录下4 把公钥拷贝至Client服务器上很简单,例如 scp id_rsa.pub user@10.11.xx.xx:~5 ssh登录到Client服务器上,然后在Client服务器上,把公钥的内容追加到authorized_keys文件末尾(这个文件也在隐藏文件夹.ssh下,没有的话可以建立,没有关系)cat id_rsa.pub >> ~/.ssh/authorized_keys以下是各种补充说明,遇到问题时可以参考:注1:这里不推荐用文件覆盖的方式,有些教程直接scp id_rsa.pub 到Client服务器的authorized_keys文件,会导致之前建的其他信任关系的数据被破坏,追加到末尾是更稳妥的方式;注2: cat 完以后,Client服务器上刚才拷贝过来的id_rsa.pub文件就不需要了,可以删除或移动到其它地方)注3:ssh-keygen 命令通过-b参数可以指定生成的密钥文件的长度,如果不指定则默认为1024,如果ssh-keygen –b 4096(最长4096),则加密程度提高,但是生成和验证时间会增加。

对一般的应用来说,默认长度已经足够胜任了。

如果是rsa加密方式,那么最短长度为768 byte注4:authorized_keys文件的权限问题。

如果按上述步骤建立关系后,仍然要验证密码,并且没有其他报错,那么需要检查一下authorized_keys文件的权限,需要作下修改: chmod g-w authorized_keysOK,现在试试在Server端拷贝一个文件到Client服务器,应该无需交互直接就传过去了。

但是此时从Client传数据到Server服务器,仍然是需要密码验证的。

如果需要两台服务器间能直接互传数据,则反过来按上述步骤操作一下就可以了二 删除服务器间信任关系的方法如果想取消两台服务器之间的信任关系,直接删除公钥或私钥是没有用的,需要在Client服务器上,打开 ~/.ssh/ authorized_keys 文件,找到对应的服务器的公钥字段并删除每个段落的开头是ssh-rsa字样,段尾是Server服务器的帐号和ip(如下图红框),需要细心的找一下后删除整段密钥文件内容和删除Linux服务器间信任关系的方法三 各种可能遇到的情况和处理方法–提示 port 22: Connection refused可能的原因:没有正确安装最新的openssh-server,安装方法如下sudo apt-get install openssh-server不支持apt安装的,可以手工下载:wget ftp.ssh.com/pub/ssh/ssh-3.2.9.1.tar.gz–关于目录和文件的权限设置.ssh目录的权限必须是700,同...

英语翻译11.DEMURRAGE/DESPATCH:USD20,000PDPRDHD滞期/...

Telnet软件包客户端:telnet-0.17-38.el5.i386.rpm 服务端:telnet-server-0.17-38.el5.i386.rpmtelnet没有安装就安装下哈~,确保安装前已经安装xinetd服务Telnet访问控制可以使用/etc/hosts.allow和/etc/hosts.deny文件来限制客户端访问,这两个文件是tcpd服务配置文件,tcpd服务可以控制外部主机对本机服务的访问。

格式:服务进程名:主机列表:[可选的命令操作]Telnet限制最大连接数可以编辑/etc/xinetd.d/telnet文件,然后在{}中添加一行instances = 需要限制的数字Telnet服务启动方法由于telnet是由xinetd服务管理,所以telnet启动方法和其他服务不大一样哈~chkconfig --level 35 krb5-telnet on也可以使用ntsysv启动通过修改/etc/xinetd.d/krb5-telnet文件也可以启动telnet服务,而ntsysv从本质上也是通过修改此文件的,修改方法将"disable=yes"改为"disable=no"就可以了修改了配置文件我们还需要重启xinetd服务来使用配置生效现在我们可以查看一下主机是否开启了23端口netstat -tna |grep 23现在客户端就可以telnet上服务器了,默认不允许root用户通过telnet登录,我们可以使用su -切换到root用户身份。

如果服务器配置了防火墙的话,就禁止了telnet登录。

这样客户端就telnet连接不上了还需要允许客户端访问telnet服务所使用的端口才可以,默认使用TCP协议的23端口。

iptables -I INPUT -p tcp --dport 23 -j ACCEPT 现在就又可以登录了哈~我们还可以更新telnet默认端口号,这样可以降低安全风险,注意不能修改成已经在使用的端口vim /etc/services修改后重启xinetd服务现在我们还需要修改iptables规则iptables -I INPUT -p tcp --dport 2388 -j ACCEPT 客户端XP登录测试下哈~##############Michael分割线################OpenSSH服务需要4个软件包openssh-4.3p2-24.el5.i386.rpm:包含OpenSSH服务器及客户端需要的核心文件 openssh-askpass-4.3p2-24.el5.i386.rpm:支持对话框窗口的显示,是一个基于X系统的密码诊断工具 openssh-clients-4.3p2-24.el5.i386.rpm:OpenSSH客户端软件包 openssh-server-4.3p2-24.el5.i386.rpm:OpenSSH服务器软件包没有就安装一下哈~OpenSSH配置文件OpenSSH常用配置文件有两个/etc/ssh/ssh_config和/etc/sshd_config。

ssh_config为客户端配置文件而sshd_config为服务器端配置文件ssh_config配置文件Host:指定配置生效的主机,设置的主机将使用其他设置,“*”表示所有的计算机。

ForwardAgent:如果存在验证代理,可以设置连接是否经过验证代理转发给远程计算机。

ForwardX11:设置X11连接是否被自动重定向到安全的通道和显示集。

RhostsAuthentication:设置是否使用基于rhosts安全验证。

RhostsRSAAuthentication:设置是否使用RSA算法的基于rhosts安全验证。

RSAAuthentication:设置是否使用RSA算法进行安全验证。

PasswordAuthentication:设置是否使用口令验证。

HostbasedAuthentication:基于主机的认证 FallBackToRsh:设置如果用SSH连接出现错误是否自动使用RSH。

UseRsh:设置是否在这台计算机上使用rlogin/rsh。

BatchMode:如果设置为yes,passphrase/password的提示将被禁止。

当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务非常有用。

CheckHostIP:设置SSH是否查看连接到服务器的主机的IP地址来防止DNS欺骗。

建议设置为yes。

AddressFamily:指定sshd应当使用哪种地址族 ConnectTimeout:设置连接超时。

StrictHostKeyChecking:如果设置为yes,SSH就不会自动把计算机的密匙加入$HOME/.ssh/known_hosts文件,并且一旦计算机的密匙发生变化,就拒绝连接。

IdentityFile:设置从哪个文件读取用户的RSA安全验证标识。

Port:设置连接到远程主机的端口。

Protocol:设置客户端使用的SSH版本。

Cipher:设置加密方式。

Ciphers:指定SSH-2允许使用的加密算法 EscapeChar:设置escape字符。

Tunnel:设置穿越不被信任的网络 TunnelDevice any:any PermitLocalCommand no/etc/ssh/sshd_config配置文件Port 22 设置sshd监听端口号 ListenAddress 0.0.0.0 设置sshd服务器绑定的IP地址,0.0.0.0表示侦听所有地址 HostKey /etc/ssh/ssh_host_key 设置包含计算机私人密匙的文件 ServerKeyBits 768 定义服务器密匙长度 LoginGraceTime 2m 设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(单位为秒) KeyRegenerationInterval 1h 设置在多少秒之后自动重新生成服务器密匙。

重新生成密匙是为了防止用盗用的密匙解密被截获的信息。

PermitRootLogin no 设置root是否能够使用SSH登录,为了保证服务器安全,建议设置为no StrictModes yes 设置SSH在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。

防止目录和文件设置成任何人都有写权限。

RhostsAuthentication no 设置只用rhosts或/etc/hosts.equiv进行安全验证是否满足需要。

RhostsRSAAuthentication no 设置是否允许用rhosts或/etc/hosts.equiv加上RSA进行安全验证。

RSAAuthentication yes 设置是否允许只有RSA安全验证。

IgnoreUserKnownHosts no 设置ssh daemon是否在...

tcp port forwarding怎么用

基于TCP的应用层协议、与基于UDP的应用层协议分别有哪些?斜线前面的数字代表端口号,斜线后面表示tcp和udp,最后是协议名称,希望能帮到你!21/tcp FTP 文件传输协议22/tcp SSH 安全登录、文件传送(SCP)和端口重定向23/tcp Telnet 不安全的文本传送25/tcp SMTP Simple Mail Transfer Protocol (E-mail)69/udp TFTP Trivial File Transfer Protocol79/tcp finger Finger80/tcp HTTP 超文本传送协议 (WWW)88/tcp Kerberos Authenticating agent110/tcp POP3 Post Office Protocol (E-mail)113/tcp ident old identification server system119/tcp NNTP used for usenet newsgroups220/tcp IMAP3443/tcp HTTPS used for securely transferring web pagesTCP端口转发TCP Port Forwarding 是易于使用的应用程序,将使您能够从特定的TCP端口来的其他网络接口的流量重定向。

该程序是能够处理在同一个工作站或一个远程,连接到不同的网络上的转发。

大家还关注
    
阅读排行
推荐阅读