Articles of ssh

“而读线”返回时调用ssh“mysql …”

我有一个从MySQL读取数据的脚本(下面的get_sql_results函数),然后读取每行,用awkparsing单个列。 除了将通过ssh的mysql查询结果分配给cmusername的行之外,一切正常。 当包含这一行时,只有$结果的第一行被读取,并且在完成第一次迭代之后,该脚本似乎在读取循环中“转义”。 当我注释掉cmusername =行时,它会像我所期望的那样显示多行。 这是主要的脚本: new_results() { get_sql_results printf %s "$results" | while read -r line do accounttyperaw=$(echo -en "$line" | awk -F $'\t' '{print $5}') accountstatusraw=$(echo -en "$line" | awk -F $'\t' '{print $3}') accountname=$(echo -en "$line" | awk -F $'\t' '{print $4}') datelastchange=$(echo -en "$line" | awk -F $'\t' '{print $8}') cmuserid=$(echo […]

从Linux客户端自动configurationWindows服务器。

我们公司构build了一个基于服务器的C ++应用程序,可以通过Windows安装程序进行安装。 我希望能够远程login到一个全新的Windows服务器,并安装该C ++应用程序以及一个testing套件,并从Linux工作站执行。 我想用自己的Linux工作站运行一个Bash脚本来自动执行这个过程。 使用Linux服务器,这非常简单。 首先运行sshd的基本configuration,使用scp将服务器端bash脚本从Linux客户端移动到服务器,然后从Linux客户端ssh进入Linux服务器并运行bash脚本。 但是,如果客户端是Linux,但是服务器是Windows Server(例如2k8r2),我该怎么做呢? 我正在考虑使用Chef Solo做一些这方面的工作,但是我仍然需要安装Chef Solo。 我将如何从Linux Workstation远程执行此操作。

防止使用vsftp上传ssh密钥

我正在configurationvsftpd以便从networking上的设备上传。 传统原因需要FTP。 不pipe我想怎么样,这都是我无法改变的。 所以,请不要build议我不要使用ftp! 该接口被烧入到我必须连接的设备的固件中,并且不能改变或控制。 我的问题:我想尽可能防止shell访问(或任何其他types的访问,除了传输文件)。 我正在configuration/usr/sbin/nologin的shell。 为了防御深度(例如为了减轻对shell的意外变化),我对你可能有的任何其他想法感兴趣。 例如,我正在考虑创build一个.ssh目录到帐户的主目录,拥有root:root模式0550,设置不可变的位。 这将防止设备的帐户能够为自己configurationSSH访问。 有没有更好的方法来防止通过vsftpd上传SSH密钥? 为了安全起见,是否还有其他文件或目录会被“禁止”上传?

使用authentication密钥创buildSSH隧道 – 语法

我必须创build一个SSH隧道来将部署服务器连接到VPN: DeploymentServer –> Gateway –> PrivateServer 每台机器使用一个密钥,我尝试了下面的命令: myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP 然后这个在其他terminal窗口中: myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@SERVER_PRIVATE_IP 但它不起作用,我得到一个超时错误。 我的端口1122是开放的,我可以SSH的。 我没有做错我的语法是否正确? 这是我的第一个隧道,所以不要嘲笑我! 编辑1 我添加了-v并修复了第二个SSH调用。 首先调用: myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP -v响应: debug1: Authentication succeeded (publickey). 第二次调用: myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@localhost […]

不能SSH隧道访问远程MySQL服务器

我似乎无法弄清楚为什么我不能使用SSH隧道连接到我的远程MySQL服务器。 我做ssh隧道 [hobbes3@hobbes3] ~ $ ssh linode -L 3307:localhost:3306 然后在另一个terminal,我尝试 [hobbes3@hobbes3] ~ $ mysql -h localhost -P 3307 -u root –protocol=tcp -p Enter password: ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2 在服务器上,它显示了这一点: root@li534-120 ~ # channel 4: open failed: connect failed: Connection refused 这是我的my.cnf在服务器上: [mysqld] # […]

从ssh开始一个背景屏幕会话。

我想拍摄一个命令到服务器运行永远说! 在“屏幕会话”下使用ssh。 所以我正在使用类似的东西 ssh -t root@server screen -S myinf "python infinit1.py &" infinit1.py是脚本。 问题“python infinit1.py”不会在后台进行,也不会创build名为“myinf”的屏幕。 我感谢你的提示。

SSH基于主机的authentication:SSH客户端如何强制使用给定的关键位置

在SSH上的Linux手册页说基于主机的身份validation工作,因为SSH server must be able to verify the client's host key (see the description of /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts, below) for login to be permitted. 我知道~/.ssh/known_hosts包含客户端访问的SSH服务器的主机密钥。 因此,在从~/.ssh/id_rsa和~/.ssh/id_dsa中读取身份私钥的基于密钥的身份validation中,如何强制在仅使用密钥~/.ssh/known_hosts基于主机的身份validation中的不同位置查找密钥~/.ssh/known_hosts 。 在基于密钥的身份validation。 我们可以使用ssh -i /new/path/to/id_rsa <server IP>指向不同的位置,并想知道如何使用基于主机的身份validation。 提前致谢!

Shell脚本错误的文件名与空格

我有一个bash脚本search位于我的服务器根目录下的每个静态文件,并在每个文件旁边存储一个gzipped版本。 我从http://wiki.linuxwall.info/doku.php/en:ressources:dossiers:nginx:nginx_performance_tuning 问题是它不能与空格的文件名工作,我的网站现在不使用任何,我会尝试它永远不会,但我不是唯一一个在前端工作,所以我可能无法控制它,所以我只是想确保这个脚本适用于有空格的文件。 希望有人可以看看,并帮我修复它。 #! /bin/bash FILETYPES=("*.html" "*.woff" "*.css" "*.jpg" "*.jpeg" "*.gif" "*.png" "*.js") # specify a list of directories to check recursively DIRECTORIES="/usr/share/nginx/www/" for currentdir in $DIRECTORIES do for i in "${FILETYPES[@]}" do find $currentdir -iname "$i" -exec bash -c 'PLAINFILE="{}";GZIPPEDFILE="{}".gz; \ if [ -e "$GZIPPEDFILE" ]; \ then if [ `stat –printf=%Y $PLAINFILE` […]

为什么SSH / SFTP失败的命令具有较大的回报?

我们有一个SFTP服务器工作正常,直到我们添加了另一个ISP。 到SFTP服务器的连接没有经过新的ISP,我用tracert确认了它。 服务器上也没有改变。 但是从那以后,如果执行的命令有较大的回报,一些用户的SFTP或者SSH连接超时/挂起。 这是一个场景: 我可以继续ping,即使SSH / SFTP超时,ping也会一直返回 我可以连接到服务器,它要求authentication,让我login。 如果我的根目录的ls命令正在返回less量的文件或文件夹,则会显示文件和文件夹的列表 如果我的根目录的ls命令大于5或6个文件或文件夹,那么它挂起/超时。 在尝试这样做的时候,我尝试了对服务器运行一个ping,并且它一直在返回。 这不会发生在每个人身上,但似乎发生在另一个城市的用户身上。 我尝试了不同的SFTP客户端(FileZilla和WinSCP)。 两者都有同样的问题。 我在我的PC上运行WireShark(在我们的networking之外,在城市之外),当SFTP / SSH超时的时候,我看到重传和部分段没有捕获到错误,这使我相信可能有一些数据包在啤酒花之间的某处丢失。 Expert Info (Note/Sequence): Retransmission (suspected) Previous segment not captured (common at capture start) SFTP / SSH是否对数据包丢失敏感? SSH / SFTP不会重传/重传,以避免这些丢包错误? 有什么服务器设置,我可以调整,以使这项工作?

使用默认id_rsa.pub的AWS访问AWS,但不使用使用ssh-keygen生成的密钥

您好,我从来没有发布一个问题,但是,我试图访问AWS实例,没有input密码与以下,并有一些问题。 $ ssh -i ~/.ssh/id_rsa_aws.pub ubuntu@ipaddresshere 不过,即使我使用以下方法生成的密钥也会提示input密码,并且在出现提示时将密码字段留空。 $ ssh-keygen -t rsa -b 1024 当我访问服务器,如果我input一个空白字段的密码,我得到权限被拒绝,如果我input密码,它会提示我重新input一个值,所以我相信它接受空白密码,但拒绝密钥。 我已经将id_rsa_aws.pub的内容存储在authorizedkeys2 ,我相信所有权限都设置正确。 为了做更多的testing,我使用了另一个我以前生成的另一个密钥,名为id_rsa.pub并将其复制到authorizedkeys2并且可以很好地处理这个密钥。 权限是相同的密钥。 为什么我发电的关键是不工作,如果另一个是? 我粗略地遵循下面的链接,唯一的区别是使用不同的身份文件比id_rsa.pub https://forums.aws.amazon.com/message.jspa?messageID=211493