中国建设银行总部网站,中国最好网站建设公司排名,如何用手机建网站,平面设计网站有什么OpenSSH是互联网技术用户所依赖的SSH连接工具的免费版本。
telnet#xff0c;rlogin 和 ftp 用户可能没有意识到他们的密码是通过互联网传输的#xff0c;并且是未加密的。
但是 OpenSSH 加密所有流量#xff08;包括密码#xff09;以有效消除窃听#xff0c;连接劫持和其…OpenSSH是互联网技术用户所依赖的SSH连接工具的免费版本。
telnetrlogin 和 ftp 用户可能没有意识到他们的密码是通过互联网传输的并且是未加密的。
但是 OpenSSH 加密所有流量包括密码以有效消除窃听连接劫持和其他攻击。
OpenSSH 还提供了安全隧道功能和多种身份验证方法并且支持所有SSH协议版本。ssh-keygen 产生公钥与私钥对.ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利第一步:在本地机器上使用ssh-keygen产生公钥私钥对
zhzzhz:~/$ ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/home/zhz/.ssh/id_rsa):Enter passphrase (empty for no passphrase): [Press enter keysame passphrase again: [Pess enter key]Your identification has been saved in /home/zhz/.ssh/id_rsa.Your public key has been saved in /home/zhz/.ssh/id_rsa.pub.The key fingerprint is:用cat命令查看是否生成产生公钥私钥对zhzzhz:~$ cat .ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl9N5xboqSIagBx02rdZ2fkROCPW8iW7hl6Gu2hkBYYy/b1qcOm8RF/AMyas3i0QEK7Hcu9H51l2lulVbS5n9M9FaWIyYzssaS012x2mg9iA6MxPMlaXFsZ5jnVrGicndzf3VUu9kCErp5q0OzzMjsG3PKQevzWZJSBaFgc8NF5ZJVT54BN8ktMTHVwOo15I2Uaibs4eP0NsuwIJmGyYIUOuvTuUtJxGV3hZtcjhupupqVCwYOEcDz8VkFBGtnKsdE69hWoY2VUfEOAfHZptra7Ce9dXfDgx9jxuuNiJYtGo/bZDfeUJ5HUv8wrLhFeRIihdmP2CKJD8j5 zhzzhz第二步:用ssh-copy-id将公钥复制到远程机器中
zhzzhz:~$ ssh-copy-id -i .ssh/id_rsa.pub 用户名字192.168.x.xxx注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中
第三步:
登录到
远程机器不用输入密码
zhzzhz:~$ ssh 用户名字192.168.x.xxxLast login: Sun Nov 16 17:22:33 2008 from 192.168.1.2常见问题
ssh-copy-id -u eucalyptus -i ~eucalyptus/.ssh/id_rsa.pub ssh 用户名字192.168.x.xxx第一次需要密码登录上述是给eucalyptus用户赋予无密码登陆的权利
/usr/bin/ssh-copy-id: ERROR: No identities found使用选项 -i 当没有值传递的时候或者 如果 ~/.ssh/identity.pub 文件不可访问不存在, ssh-copy-id 将显示上述的错误信息 -i选项会优先使用将ssh-add -L的内容以上转自https://blog.csdn.net/alifrank/article/details/48241699以下转自http://blog.urfix.com/25-ssh-commands-tricks/1将ssh密钥复制到user host以启用无密码ssh登录。ssh-copy-id user host
要生成密钥请使用命令ssh-keygen
2从某个机器的端口80启动一条隧道到您当地的邮局2001
ssh -N -L2001localhost80 somemachine
现在你可以访问http// localhost2001 /
3将麦克风输出到远程电脑的扬声器
dd if / dev / dsp | ssh -c arcfour -C username host dd of / dev / dsp
这会将麦克风端口的声音输出到ssh目标电脑的扬声器端口。音质很差所以你会听到很多嘶嘶声。
4比较远程文件和本地文件
ssh user host cat / path / to / remotefile | diff / path / to / localfile -
用于检查本地文件和远程文件是否存在差异。
5通过SSH安装文件夹/文件系统
sshfs name server/ path / to / folder / path / to / mount / point
从http://fuse.sourceforge.net/sshfs.html安装SSHFS 将允许您通过网络安装文件夹安全性。
6通过中间的主机进行SSH连接
ssh -t reachable_host ssh unreachable_host
Unreachable_host从本地网络不可用但可从reachable_host的网络获得。此命令通过与hidden_host的“隐藏”连接创建与unreachable_host的连接。
7通过主机从host1复制到host2
ssh root host1“cd / somedir / tocopy / tar -cf - 。”| ssh root host2“cd / samedir / tocopyto / tar -xf - ”好如果只有你有权访问host1和host2但他们没有访问你的主机所以ncat不会工作他们没有直接访问对方。8远程运行任何GUI程序ssh -fX user host programSSH服务器配置需要
X11Forwarding yes这是Debian中的默认设置
而且它也很方便
压缩延迟
9创建一个持久连接到一台机器
ssh -MNf user host
在后台创建与主机的永久SSH连接。将此与〜/ .ssh / config中的设置相结合主机主机ControlPath ~/.ssh/master-%r%hp ControlMaster否与计算机的所有SSH连接都将通过Persisten SSH套接字。如果您使用SSH定期同步文件使用rsync / sftp / cvs / svn这非常有用因为每次打开ssh连接时都不会创建新套接字。
10通过ssh连接屏幕
ssh -t remote_host屏幕-r
直接附加远程屏幕会话保存无用的父级bash进程
11端口敲击
knock host 3000 4000 5000 ssh -p port user host knock host 5000 4000 3000
敲开端口以打开服务端口例如ssh再敲一下关闭端口。你必须安装knockd。见下面的示例配置文件。[options] logfile /var/log/knockd.log [openSSH] sequence 3000,4000,5000 seq_timeout 5 command / sbin / iptables -A INPUT -i eth0 -sIP-p tcp -dport 22 - j ACCEPT tcpflags syn [closeSSH] sequence 5000,4000,3000 seq_timeout 5 command / sbin / iptables -D INPUT -i eth0 -sIP-p tcp -dport 22 -j ACCEPT tcpflags syn
12删除文本文件中的一行。有用的修复
ssh-keygen -R the_offending_host
在这种情况下最好使用专用工具
13通过ssh运行复杂的远程shell cmds不用转义引号
ssh主机-l用户$cmd.txt
更简单的方法。更便携的版本ssh主机-l用户“cat cmd.txt”“
14通过一个命令通过SSH将MySQL数据库复制到新服务器
mysqldump -add-drop-table -extended-insert -force -log-error error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user newhost“mysql -uUSER -pPASS NEW_DB_NAME”
通过压缩的SSH隧道转储MySQL数据库并将其用作mysql的输入 - 我认为这是将数据库迁移到新服务器的最快和最好的方式
15删除文本文件中的一行。用于修复“ssh主机密钥更改”警告
sed -i 8d〜/ .ssh / known_hosts
16将你的ssh公钥从一台没有ssh-copy-id的机器复制到一台服务器上
cat〜/ .ssh / id_rsa.pub | ssh user machine“mkdir〜/ .ssh; 猫〜/ .ssh / authorized_keys“
如果您使用Mac OS X或其他不带有ssh-copy-id的* nix变体则这一行代码将允许您将公钥添加到远程机器以便随后可以在没有密码。
17实时ssh网络吞吐量测试
是| pv | ssh $ host“cat / dev / null”
通过ssh连接主机并显示实时传输速度将所有传输的数据导向/ dev / null 需要安装pv Debianapt-get install pvFedora yum install pv可能需要启用extras存储库
18如何建立一个你可以重新连接的远程Gnu屏幕会话
ssh -t usersome.domain.com / usr / bin / screen -xRR
在存在标签式终端之前人们一直在使用Gnu屏幕在单个文本终端中打开许多外壳。与ssh结合使用您可以使用上述选项通过单个远程连接拥有多个打开的shell。如果使用“Ctrl-a d”进行分离或者ssh会话意外终止则远程shell中运行的所有进程将保持不受干扰随时可供您重新连接。其他有用的屏幕命令是“Ctrl-a c”打开新shell和“Ctrl-a a”在shell之间交替。阅读此快速参考以获取更多屏幕命令http://aperiodic.net/screen/quick_reference
19恢复大文件的scp
rsync -partial -progress -rsh ssh $ file_source $ user $ host$ destination_file
它可以使用rsync恢复失败的安全副本在通过vpn传输像db转储这样的大文件时有用。它需要在两台主机上安装rsync。rsync -partial -progress -rsh ssh $ file_source $ user $ host$ destination_file local - remote 或rsync -partial -progress -rsh ssh $ user $ host$ remote_file $ destination_file remote - local
20通过ssh w / wireshark远程分析流量
ssh rootserver.comtshark -f“port22”-w - | wireshark -k -i -
这使用tshark捕获远程计算机上的流量通过ssh链接发送原始pcap数据并将其显示在wireshark中。按ctrl C将停止捕获不幸的是关闭您的wireshark窗口。这可以通过将-c传递给tshark来处理只捕获一定数量的数据包或通过命名管道重定向数据而不是直接从ssh传输到wireshark。我建议尽可能在tshark命令中进行过滤以节省带宽。tshark可以用tcpdump替换ssh rootexample.com tcpdump -w - port22| wireshark -k -i -
21有一个ssh会话永远打开
autossh -M50000 -t server.example.comscreen -raAd mysession
打开一个永久开放的ssh会话在切换WIFI节点时丢失互联网连接的笔记本电脑非常棒。
22更强大更快更强大的SSH客户端
ssh -4 -C -c blowfish-cbc
我们强制IPv4压缩流指定密码流为Blowfish。我想你可以使用aes256-ctr以及cypher spec。当然我忽略了诸如主控制会话之类的东西并且可能无法在您的shell中使用这些会话尽管这也会加快速度。
23用cstream调节带宽
tar -cj / backup | cstream -t 777k | ssh主机tar -xj -C / backup
这bzips一个文件夹并通过网络传输到“主机”在777k位/秒。cstream可以做得更多看看http://www.cons.org/cracauer/cstream.html#usage 例如echo w00t我733 | cstream -b1 -t2
24一步将SSH公钥转移到另一台机器上
SSH-凯基; ssh-copy-id user host; ssh user host
该命令序列允许简单设置gasp无密码SSH登录。要小心就好像你已经在本地机器上的〜/ .ssh目录中有一个SSH密钥对那么ssh-keygen可能会覆盖它们。ssh-copy-id将公钥复制到远程主机并将其附加到远程帐户的〜/ .ssh / authorized_keys文件中。在尝试使用ssh时如果您没有为密钥使用密码远程shell会在调用ssh user host后不久出现。
25将stdin复制到你的X11缓冲区
ssh user host cat / path / to / some / file | XCLIP
你有没有必要scp文件到你的工作机器以便将其内容复制到邮件中xclip可以帮助你。它将stdin复制到X11缓冲区所以您只需中键单击以粘贴该looong文件的内容:)ssh-copy-id user host要生成密钥请使用命令ssh-keygen2从某个机器的端口80启动一条隧道到您当地的邮局2001ssh -N -L2001localhost80 somemachine现在你可以访问http// localhost2001 /3将麦克风输出到远程电脑的扬声器dd if / dev / dsp | ssh -c arcfour -C username host dd of / dev / dsp这会将麦克风端口的声音输出到ssh目标电脑的扬声器端口。音质很差所以你会听到很多嘶嘶声。4比较远程文件和本地文件ssh user host cat / path / to / remotefile | diff / path / to / localfile -用于检查本地文件和远程文件是否存在差异。5通过SSH安装文件夹/文件系统sshfs name server/ path / to / folder / path / to / mount / point从http://fuse.sourceforge.net/sshfs.html安装SSHFS 将允许您通过网络安装文件夹安全性。6通过中间的主机进行SSH连接ssh -t reachable_host ssh unreachable_hostUnreachable_host从本地网络不可用但可从reachable_host的网络获得。此命令通过与hidden_host的“隐藏”连接创建与unreachable_host的连接。7通过主机从host1复制到host2ssh root host1“cd / somedir / tocopy / tar -cf - 。”| ssh root host2“cd / samedir / tocopyto / tar -xf - ”好如果只有你有权访问host1和host2但他们没有访问你的主机所以ncat不会工作他们没有直接访问对方。 8远程运行任何GUI程序 ssh -fX user host programSSH服务器配置需要X11Forwarding yes这是Debian中的默认设置而且它也很方便压缩延迟9创建一个持久连接到一台机器ssh -MNf user host在后台创建与主机的永久SSH连接。将此与〜/ .ssh / config中的设置相结合主机主机ControlPath ~/.ssh/master-%r%hp ControlMaster否与计算机的所有SSH连接都将通过Persisten SSH套接字。如果您使用SSH定期同步文件使用rsync / sftp / cvs / svn这非常有用因为每次打开ssh连接时都不会创建新套接字。10通过ssh连接屏幕ssh -t remote_host屏幕-r直接附加远程屏幕会话保存无用的父级bash进程11端口敲击knock host 3000 4000 5000 ssh -p port user host knock host 5000 4000 3000敲开端口以打开服务端口例如ssh再敲一下关闭端口。你必须安装knockd。见下面的示例配置文件。[options] logfile /var/log/knockd.log [openSSH] sequence 3000,4000,5000 seq_timeout 5 command / sbin / iptables -A INPUT -i eth0 -sIP-p tcp -dport 22 - j ACCEPT tcpflags syn [closeSSH] sequence 5000,4000,3000 seq_timeout 5 command / sbin / iptables -D INPUT -i eth0 -sIP-p tcp -dport 22 -j ACCEPT tcpflags syn12删除文本文件中的一行。有用的修复ssh-keygen -R the_offending_host在这种情况下最好使用专用工具13通过ssh运行复杂的远程shell cmds不用转义引号ssh主机-l用户$cmd.txt更简单的方法。更便携的版本ssh主机-l用户“cat cmd.txt”“14通过一个命令通过SSH将MySQL数据库复制到新服务器mysqldump -add-drop-table -extended-insert -force -log-error error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user newhost“mysql -uUSER -pPASS NEW_DB_NAME”通过压缩的SSH隧道转储MySQL数据库并将其用作mysql的输入 - 我认为这是将数据库迁移到新服务器的最快和最好的方式15删除文本文件中的一行。用于修复“ssh主机密钥更改”警告sed -i 8d〜/ .ssh / known_hosts16将你的ssh公钥从一台没有ssh-copy-id的机器复制到一台服务器上cat〜/ .ssh / id_rsa.pub | ssh user machine“mkdir〜/ .ssh; 猫〜/ .ssh / authorized_keys“如果您使用Mac OS X或其他不带有ssh-copy-id的* nix变体则这一行代码将允许您将公钥添加到远程机器以便随后可以在没有密码。17实时ssh网络吞吐量测试是| pv | ssh $ host“cat / dev / null”通过ssh连接主机并显示实时传输速度将所有传输的数据导向/ dev / null 需要安装pv Debianapt-get install pvFedora yum install pv可能需要启用extras存储库18如何建立一个你可以重新连接的远程Gnu屏幕会话ssh -t usersome.domain.com / usr / bin / screen -xRR在存在标签式终端之前人们一直在使用Gnu屏幕在单个文本终端中打开许多外壳。与ssh结合使用您可以使用上述选项通过单个远程连接拥有多个打开的shell。如果使用“Ctrl-a d”进行分离或者ssh会话意外终止则远程shell中运行的所有进程将保持不受干扰随时可供您重新连接。其他有用的屏幕命令是“Ctrl-a c”打开新shell和“Ctrl-a a”在shell之间交替。阅读此快速参考以获取更多屏幕命令http://aperiodic.net/screen/quick_reference19恢复大文件的scprsync -partial -progress -rsh ssh $ file_source $ user $ host$ destination_file它可以使用rsync恢复失败的安全副本在通过vpn传输像db转储这样的大文件时有用。它需要在两台主机上安装rsync。rsync -partial -progress -rsh ssh $ file_source $ user $ host$ destination_file local - remote 或rsync -partial -progress -rsh ssh $ user $ host$ remote_file $ destination_file remote - local20通过ssh w / wireshark远程分析流量ssh rootserver.comtshark -f“port22”-w - | wireshark -k -i -这使用tshark捕获远程计算机上的流量通过ssh链接发送原始pcap数据并将其显示在wireshark中。按ctrl C将停止捕获不幸的是关闭您的wireshark窗口。这可以通过将-c传递给tshark来处理只捕获一定数量的数据包或通过命名管道重定向数据而不是直接从ssh传输到wireshark。我建议尽可能在tshark命令中进行过滤以节省带宽。tshark可以用tcpdump替换ssh rootexample.com tcpdump -w - port22| wireshark -k -i - 21有一个ssh会话永远打开autossh -M50000 -t server.example.comscreen -raAd mysession打开一个永久开放的ssh会话在切换WIFI节点时丢失互联网连接的笔记本电脑非常棒。22更强大更快更强大的SSH客户端ssh -4 -C -c blowfish-cbc我们强制IPv4压缩流指定密码流为Blowfish。我想你可以使用aes256-ctr以及cypher spec。当然我忽略了诸如主控制会话之类的东西并且可能无法在您的shell中使用这些会话尽管这也会加快速度。23用cstream调节带宽tar -cj / backup | cstream -t 777k | ssh主机tar -xj -C / backup这bzips一个文件夹并通过网络传输到“主机”在777k位/秒。cstream可以做得更多看看http://www.cons.org/cracauer/cstream.html#usage 例如echo w00t我733 | cstream -b1 -t224一步将SSH公钥转移到另一台机器上SSH-凯基; ssh-copy-id user host; ssh user host该命令序列允许简单设置gasp无密码SSH登录。要小心就好像你已经在本地机器上的〜/ .ssh目录中有一个SSH密钥对那么ssh-keygen可能会覆盖它们。ssh-copy-id将公钥复制到远程主机并将其附加到远程帐户的〜/ .ssh / authorized_keys文件中。在尝试使用ssh时如果您没有为密钥使用密码远程shell会在调用ssh user host后不久出现。25将stdin复制到你的X11缓冲区ssh user host cat / path / to / some / file | XCLIP你有没有必要scp文件到你的工作机器以便将其内容复制到邮件中xclip可以帮助你。它将stdin复制到X11缓冲区所以您只需中键单击以粘贴该looong文件的内容:)