Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
将Amazon .pem密钥转换为Putty .ppk密钥Linux
我已经.pem从AWS 生成并下载了私钥。但是,要使用Putty连接到虚拟机,我必须具有该.ppk格式的密钥。转换过程大约在20行中进行了详细说明: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html#prepare-for-putty 我正在使用Linux Mint(Ubuntu发行版),并且我知道可以在终端中使用puttygen。但是,我不知道如何使用该工具,也不知道如何配置所需的参数。当我输入puttygen --help时 PuTTYgen unidentified build, Aug 7 2013 12:24:58 Usage: puttygen ( keyfile | -t type [ -b bits ] ) [ -C comment ] [ -P ] [ -q ] [ -o output-keyfile ] [ -O type | -l | -L | -p ] -t …

9
仅在与ack模式匹配的文件中搜索
只能确认通过匹配特定“ glob”模式的文件进行搜索(例如:在名为“ bar * .c”的所有文件中搜索foo)。命令 ack foo "bar*.c" 仅适用于当前目录。 注意:我知道使用find -exec是可能的: find . -name "bar*.c" -type f -exec ack foo {} + 但是我想要一个简单的ack命令,因为find不会跳过版本控制目录。
49 ack 

3
允许root仅通过基于密钥的身份验证通过ssh登录
我对上的某些ssh服务器配置有疑问/etc/ssh/sshd_config。我想要下一个行为: 公钥身份验证是唯一的以root用户身份进行身份验证的方式(无密码身份验证或其他方式) 普通用户可以同时使用(密码验证和公共密钥验证) 如果我设置PasswordAuthentication no了第一点,第二点就不满意了。有没有一种方法只能设置PasswordAuthentication no为root?

4
pkill和killall有什么区别?
我知道该pkill过滤规则比的更多killall。我的问题是,两者之间有什么区别? pkill [signal] name 和 killall [signal] name 我读过这样killall更有效,它可以杀死与name程序匹配的所有进程和子进程(以及递归地)。 pkill也不这样做吗?

4
“安装”命令的目的是什么?
我已经看到install了很多Makefile文件中使用的命令,它的存在和用法让人感到困惑。从联机帮助页看,它似乎是cp功能较少的仿冒品,但我认为除非它具有的优势,否则不会使用cp。这是怎么回事?
49 command-line  make  cp 

3
如何在shell脚本中将文本输出到屏幕和文件?
目前,我有一个Shell脚本,它将消息记录到这样的日志文件中: log_file="/some/dir/log_file.log" echo "some text" >> $log_file do_some_command echo "more text" >> $log_file do_other_command 执行此脚本时,没有输出到屏幕,并且由于我是通过腻子连接到服务器的,因此我必须打开另一个连接并执行“ tail -f log_file_path.log”,因为我无法终止运行脚本,我想实时查看输出。 显然,我想要的是将文本消息打印在屏幕上并记录到文件中,但是我想用一行而不是两行来完成,其中之一没有重定向到文件。 如何实现呢?

3
OpenSSH:如何结束匹配块
我Match在OpenSSH /etc/ssh/sshd_config(在Debian上)中使用了一个块来限制某些用户使用SFTP: # my stuff Match group sftponly X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp -u 0002 ChrootDirectory %h 如您所见,我#my stuff在自定义配置文件中使用注释以轻松区分默认配置和我所做的配置(并将这些配置放在配置文件的末尾)。 现在我想将指令附加UseDNS no到配置中(以加快登录速度),但是OpenSSH说Directive 'UseDNS' is not allowed within a Match block。 现在我想知道是否有一种语法End Match来结束那些匹配块?
49 debian  openssh 

1
/ dev / zero的目的?
我尝试进行操作cat /dev/zero,但似乎没有任何作用。我用google搜索/dev/zero,它说它基本上是一个无限大小的空白文件。是否cat打印了无数个不存在的字符?这是如何运作的?如果它是0字节,它将如何提供无限数据?如果可以简单地创建一个空白文件,此文件有什么用途?

3
添加安全吗?到我的路径?怎么会?
我看到人们在其他 答案中提到在环境变量中包含当前工作目录(' .')是一个坏主意$PATH,但是还没有找到专门解决该问题的问题。 那么,为什么我不应该添加.我的路径呢?如果尽管我发出了所有警告,我仍然要注意什么?将其添加到末尾比开始更安全吗?
49 path 



2
Bash:如何从命令输出一次读取一行?
我正在尝试使用读取bash中命令的输出while loop。 while read -r line do echo "$line" done <<< $(find . -type f) 我得到的输出 ranveer@ranveer:~/tmp$ bash test.sh ./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello ranveer@ranveer:~/tmp$ 在这之后我尝试了 $(find . -type f) | while read -r line do echo "$line" done 但是它产生了一个错误test.sh: line 5: ./test.py: Permission denied。 因此,我如何逐行阅读它,因为我认为当前它一次吞噬了整行。 要求的输出: ./test.py …
49 bash  shell  find  pipe 

5
命令行程序可以防止其输出重定向吗?
我已经习惯了这样做: someprogram >output.file 每当我要将程序生成的输出保存到文件时,都会执行此操作。我也知道此IO重定向的两个变体: someprogram 2>output.of.stderr.file (对于stderr) someprogram &>output.stderr.and.stdout.file (对于stdout + stderr组合) 今天,我遇到了一个我认为不可能的情况。我使用以下命令,xinput test 10并且按预期,我将获得以下输出: user @ hostname:〜$ xinput测试10 按键30 密钥释放30 按键40 钥匙扣40 按键32 钥匙扣32 按键65 钥匙扣65 按键61 键释放61 按键31 ^ C 用户@主机名:〜$ 我希望可以像往常一样将此输出保存到文件中xinput test 10 > output.file。但是,当与我的预期相反时,文件output.file仍然为空。这也是为了xinput test 10 &> output.file确保我不会错过stdout或stderr上的某些内容。 我真的很困惑,因此在这里问xinput程序是否可以避免其输出被重定向? 更新 我看了看资料。似乎此代码生成了输出(请参见下面的代码段)。在我看来,输出将由普通的printf生成 //在文件test.c中 静态无效print_events(Display * dpy) { …


5
如何将ssh-keygen公钥转换为openssl PEM_read_bio_RSA_PUBKEY()函数将使用的格式?
我在生成openssl PEM_read_bio_RSA_PUBKEY()函数可以使用的公钥时遇到问题。我不断出错。 显然,我不能简单地在ssh-keygen <>.pub密钥文件中使用ASCII字符串,因为它采用的是SSH文件格式或可能是SubjectPublicKeyInfo结构化的。 这是密钥生成代码: ssh-keygen -t rsa -b 1024 -C "Test Key" 我在网络上的php中找到了一个转换器,该转换器会将公钥的内容转换为base64 PEM ASCII字符串格式。但是该功能仍然不喜欢它。 Openssl文档指出: “ RSA_PUBKEY()函数,使用EVP_PKEY结构处理公钥” “ RSA_PUBKEY函数还使用RSA结构处理RSA公钥” 如何将我的OpenSSH公钥转换为OpenSSL函数将使用的任何一种格式?
49 openssh  openssl 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.